Snow monkeyのカスタマイザーが死ぬほど遅い時の対処方法

サイト運営

最近、Snow monkeyでサイト制作する機会が多いです。

テーマ自体は、Snow monkeyじゃなくてもSwellでもLightningでもいいのですが、デザイン的にはSnow monkeyが一番癖が無い気はしています。

Snow monkeyは常に最新版のWordpressじゃないと動かないので、wordpressとテーマを更新がペアになっています。テーマを更新すると自前で当てているCSS部分は、デザインが崩れることも多く、Snow mokeyはサイトをメンテするのがメッサ大変なテーマだと思います。

あるサイトをSnow monkeyで制作しているときに追加CSSをいじろうと思ってカスタマイザーを開くと3分ぐらい待たされる状況になりました。

我慢の限界を超えているので、調べたら対処方法がわかったので、自分のためにメモしておきます。

カテゴリやタグなどが大量のサイトだとカスタマイザーを開くのが遅くなる

カスタマイザーは設定パネル・セクションを予め読み込んでおかなければいけないのですが、Snow Monkey はカテゴリーページやタグページにページ減っだ画像を設定する機能があるので、カテゴリーやタグが多いとそれらの設定セクションの読み込みにめちゃ時間がかかってしまいます。

たしかに、今回問題が起きたサイトはカテゴリーやカスタムタクソノミー、タグなどが大量に登録されているサイトでした。

解決のためのコードその1

add_filter(
	'snow_monkey_get_template_part_args',
	function( $args ) {
		$inactive = array(
			'app/customizer/design/sections/category/section',
			'app/customizer/design/sections/custom-taxonomy/section',
			'app/customizer/design/sections/custom-post-archive/section',
			'app/customizer/design/sections/post-tag/section',
		);
		if ( in_array( $args['slug'], $inactive ) ) {
			$args['slug'] = null;
		}
		return $args;
	}
);

解決のためのコードその2

フックでカスタマイザーの読み込みを無効化する方法もあるようです。なかなかよく考えられた仕組みだと思います。

無効化するphpファイルは以下のものです。

snow-monkey/app/customizer/design/sections at master · inc2734/snow-monkey
Premium WordPress Theme. This theme is published here for users and developers. Please buy themes when using themes on live site. we can not provide support to ...
add_action( 'snow_monkey_get_template_part_app/customizer/design/sections/category/section', '__return_false' );
add_action( 'snow_monkey_get_template_part_app/customizer/design/sections/custom-taxonomy/section', '__return_false' );
...

https://github.com/inc2734/snow-monkey/wiki/Action-hooks#snow_monkey_get_template_part_slugを見ると非推奨になっているので、action hookではなく、filter hookの方を使う方がいいようです。

add_filter( 'snow_monkey_get_template_part_render_app/customizer/design/sections/category/section', '__return_false' );
add_filter( 'snow_monkey_get_template_part_render_app/customizer/design/sections/custom-taxonomy/section', '__return_false' );
...
Filter hooks · inc2734/snow-monkey Wiki
Premium WordPress Theme. This theme is published here for users and developers. Please buy themes when using themes on live site. we can not provide support to ...

テーマカスタマイザの起動が非常に遅い場合がある
このトピックには3件の返信、2人の参加者があり、最後にキタジマ タカシにより9ヶ月、 2週前に更新されました。…

まとめ

この問題が発生するのは、特殊ケースなので情報が見つけにくいのですが、フォーラムに答えがあってよかったです。

設定が必要な時以外は、不要な機能はOFFにしておくことで開発スピードが上がると思います。

タイトルとURLをコピーしました