Snow Monkey v10.10.1 をリリースしました

Snow Monkey v10.10.0 の概要

追加

  • フィルターフック snow_monkey_pre_template_part_render を追加
  • カスタマイザー → ページ速度最適化 → ヘッダーをキャッシュを追加
  • カスタマイザー → ページ速度最適化 → フッターをキャッシュを追加
  • カスタマイザー → ページ速度最適化 → ウィジェットエリアをキャッシュを追加

変更

  • カスタマイザー → ページ速度最適化 → jQuery 読み込みの最適化の仕様変更
  • メニューをキャッシュを Transient API からファイルキャッシュに変更
  • カスタマイザー → ページ速度最適化 → Snow Monkey の JavaScript 読み込みを最適化するを廃止

フィルターフック snow_monkey_pre_template_part_render

Snow Monkey には、テンプレートの出力内容を書き換える snow_monkey_template_part_render というフィルターフックがあります。このフックはテンプレートの内容を読み込んだ後にその内容を書き換えるのですが、新しく追加した snow_monkey_pre_template_part_renderファイルを読み込む前に内容を定義することができます。

snow_monkey_pre_template_part_render で内容が定義されている場合はテンプレートの読み込みがスキップされます。snow_monkey_pre_template_part_render で定義された内容は snow_monkey_template_part_render で書き換え可能です。

サンプルコード

add_filter(
	'snow_monkey_pre_template_part_render',
	function( $html, $slug, $name, $vars ) {
		return $html;
	},
	10,
	4
);

ヘッダー・フッター・ウィジェットエリアのキャッシュ機能

カスタマイザー → ページ速度最適化にヘッダー・フッター・ウィジェットエリアのキャッシュ機能を追加しました。有効化するとヘッダー・フッター・ウィジェットそれぞれを静的ファイルとしてキャッシュします。

静的ファイルにキャッシュするため、例えばログインしているかどうかで内容を出し分けたりしている場合は正しい内容が表示されない、表示するべきでない内容が表示されるということが起こりえます。全てのページ・全ての閲覧者に同じ内容を表示している場合以外は有効化しないことを強く推奨します。

キャッシュは、記事を更新したとき、カスタマイザーを更新したときなど特定のタイミングで削除・再生成するようにしていますが、もしキャッシュが更新されないなーというときは管理バーから削除することもできます。

カスタマイザー → ページ速度最適化 → jQuery 読み込みの最適化の仕様変更

jQuery に依存するものを正確に把握して処理をするのがかなり難しく、効果が出ない場面が多かったので、jQuery を含めた全ての JavaScript を対象にすることにしました。プラグインやカスタマイズの状況によっては JavaScript がエラーになったり動かなくなる場合があると思いますので、そういう場合はこの機能は無効化してください。

これまでの仕様

  • jQuery、および jQuery に関連する JavaScript をヘッダー読み込み + defer 付与

これからの仕様

  • jQuery、およびその他の全ての JavaScript をヘッダー読み込み + defer 付与

async が付与されているもの、wp_add_inline_scriptafter にインラインスクリプトが追加されているものには defer は付与されません。

カスタマイザー → ページ速度最適化 → Snow Monkey の JavaScript 読み込みを最適化するを廃止

カスタマイザー → ページ速度最適化 → jQuery 読み込みの最適化の仕様変更に伴い、この機能は廃止しました。

この記事を書いた人

キタジマ タカシ

長崎県長崎市在住。地元のWeb制作会社でWebデザイナー/エンジニアとして従事した後、2015年にフリーランス [ モンキーレンチ ] として独立。WordPress のテーマやプラグイン、ライブラリ、CSS フレームワーク等、多数のプロダクトをオープンソースで開発・公開しています。

Snow Monkey オンラインコミュニティ

Snow Monkey をより良いテーマにするために、今後の機能開発等について情報共有したりディスカッションをしたりする場所です。より多くのユーザーの交流があったほうがより良いプロダクトに育っていくと思いますので、ぜひご参加ください!