Microthemer customizations when deactived.

Author Posts

ryan

Heads up! this post was created when Microthemer was at version 2. The current version is 7. Some references to the interface may be out of date.

Maybe I’m missing the settings but, does Microthemer need to be activated in order for the customizations to stick?

I noticed the customization is gone when I deactivate Microthemer.

Thanks


Sebastian

Hi Ryan,

Yes Microthemer needs to be active in order for the /wp-content/micro-themes/active-styles.css stylesheet to be included in the of the HTML document by WordPress. However, if you’d rather not have Microthemer active, you can manually call active-styles.css by adding the following code to your Theme’s functions.php file:

Note, the following code was updated Jan 26th, 2018 (when version 5.1.4.2 was current). For the most up to date code, always see the Microthemer Preferences > Inactive tab

/* Begin Microthemer Code */
if (!defined('MT_IS_ACTIVE')) {
	function add_microthemer_css() {
		$p = get_option('preferences_themer_loader');
		$mtv = '?mtv=' . (!empty($p['version']) ? $p['version'] : 1);
		$mts = '?mts=' . (!empty($p['num_saves']) ? $p['num_saves'] : 0);
		if (!empty($p['g_fonts_used'])){
			$p['g_url'] = !empty($p['gfont_subset']) ? $p['g_url'] . $p['gfont_subset'] : $p['g_url'];
			$h = 'microthemer_g_font'; wp_register_style($h, $p['g_url'], false); wp_enqueue_style($h);
		}
		$r = content_url() . '/micro-themes/'; $css_min = !empty($p['minify_css']) ? 'min.' : '';
		$h = 'microthemer'; wp_register_style($h, $r.$css_min.'active-styles.css'.$mts); wp_enqueue_style($h);
		global $is_IE; if ($is_IE) {
			global $wp_styles; foreach ($p['ie_css']as $key => $cond){
				if (!empty($key)) {
					$h = 'tvr_ie_'.$key; wp_register_style($h, $r.$css_min.'ie-'.$key.'.css'.$mts); wp_enqueue_style($h);
					$wp_styles->add_data($h, 'conditional', $cond);
				}
			}
		}
		if (!empty($p['load_js'])) {
			$h = 'mt_user_js'; wp_register_script($h, $r.'active-scripts.js'.$mts); wp_enqueue_script($h);
		} if (!empty($p['active_events'])) {
			$h = 'mt_animation_events'; wp_register_script($h, $r.'animation-events.js'.$mtv, array('jquery')); wp_enqueue_script($h);
			wp_localize_script( $h, 'MT_Events_Data', json_decode($p['active_events']) );
		}
	}
	function add_microthemer_body_classes($classes){
		global $post; if (isset($post)) {
			$classes[] = 'mt-'.$post->ID; $classes[] = 'mt-'.$post->post_type.'-'.$post->post_name;
		}
		return $classes;
	}
	add_action('wp_enqueue_scripts', 'add_microthemer_css');
	add_filter( 'body_class', 'add_microthemer_body_classes');
}
/* End Microthemer Code */

In this example I’ve used the same “Handle” in the wp_register_style() function that Microthemer users (microthemer) so that if Microthemer is active, the active-styles.css stylesheet will only be included in the once. If Microthemer isn’t active, your theme will still include active-styles.css and so the customizations will stick.

I hope that’s useful. Let me know if you need help with anything else.

Cheers,

Sebastian


ryan

Thank you for the fast reply 🙂


Sebastian

You’re welcome!


Sebastian

PS the technique of adding code to the functions.php to call active-styles.css will also work if Microthemer is completely uninstalled.


Sebastian

And if you want to reinstall/reactivate Microthemer at any point all of your settings will still display in the Microthemer interface.

You must login or register to reply to this topic.