Snow Monkey v11.1.0 の概要
機能追加
- テンプレートに決め打ちになっているテキストをテンプレート変数(
$args)化 - フィルターフック
snow_monkey_get_template_part_args_{slug}を追加 - フィルターフック
snow_monkey_pre_template_part_render_{slug}を追加 - フィルターフック
snow_monkey_template_part_render_{slug}を追加 - 色に関する CSS カスタムプロパティを追加
不具合の修正
- アップデート時に
Requires・Requires PHPが反映されるように修正
テンプレートに決め打ちになっているテキストをテンプレート変数($args)化
例えば 404のときに表示されるメッセージ。このメッセージはテンプレートに決め打ちになっているため、変更するには404用のテンプレートを上書きするか、snow_monkey_template_part_render フックを使って正規表現で書き換えるしか方法がありませんでした。
今回のアップデートで、このような決め打ちになっているテキストを $args 化したので、snow_monkey_get_template_part_args フックで素直に差し替えることができるようになりました。
add_filter(
'snow_monkey_get_template_part_args',
function( $args ) {
if ( 'template-parts/content/entry/content/content' === $args['slug'] && '404 === $args['name'] ) {
$args['vars']['_message'] = '404だよ!';
}
return $args;
}
);
フィルターフック snow_monkey_get_template_part_args_{slug} を追加
テンプレート呼び出し時に slug・name・テンプレート変数を差し替えるための snow_monkey_get_template_part_args フィルターフックがあります。これは全てのテンプレートが呼び出されるたびに実行されるため、例えば1つのテンプレートだけに対して実行したいときも、全てのテンプレートの呼び出しのたびに実行されてしまうという問題がありました。
例えば前述した404ページのメッセージを書き換えるコード、
add_filter(
'snow_monkey_get_template_part_args',
function( $args ) {
if ( 'template-parts/content/entry/content/content' === $args['slug'] && '404 === $args['name'] ) {
$args['vars']['_message'] = '404だよ!';
}
return $args;
}
);
は、404ページのテンプレートが呼び出されるときだけ実行されれば良いのに、全てのテンプレートが呼び出されるたびに「404ページのテンプレートかどうか」という if が実行されてしまいます。
今回のアップデートで、特定のスラッグのテンプレートに対してだけフックできるフィルターフックを追加しました。先のコードを書き換えると下記のようになります。
add_filter(
'snow_monkey_get_template_part_args_template-parts/content/entry/content/content',
function( $args ) {
if ( '404 === $args['name'] ) {
$args['vars']['_message'] = '404だよ!';
}
return $args;
}
);
フィルターフック snow_monkey_pre_template_part_render_{slug} を追加
こちらも前述の snow_monkey_get_template_part_args_{slug} と同じで、特定のスラッグのテンプレートにだけ snow_monkey_pre_template_part_render を実行できるフィルターフックになります。
フィルターフック snow_monkey_template_part_render_{slug} を追加
こちらも前述の snow_monkey_get_template_part_args_{slug} と同じで、特定のスラッグのテンプレートにだけ snow_monkey_template_part_render を実行できるフィルターフックになります。
色に関する CSS カスタムプロパティを追加
次の CSS カスタムプロパティを追加しました。
--_color-black--_color-white--_color-gray--_dark-color-gray--_darker-color-gray--_darkest-color-gray--_light-color-gray--_lighter-color-gray--_lightest-color-gray--_dark-color-text--_darker-color-text--_darkest-color-text--_light-color-text--_lighter-color-text--_lightest-color-text
ほぼ全ての色指定部分に仕込んだので、好みの色に変更したり、独自にダークモード対応したりということがやりやすくなっていると思います。
