先日 Snow Monkey v5 の案内と、ベータ版ダウンロードの記事を書きました。
そのあとも開発を続けまして、ベータ3をメンバー限定でページ下部からダウンロードできますので、ぜひ本公開前にテスト環境で試してみてください!
ベータ2からの変更点
.c-entry-summaryのホバー時のスタイルを変更- 追加 CSS の内容がエディターに反映されるように変更
- FontAwesome の Regular アイコンが読み込まれていない不具合の修正
- リンクをスムーススクロールにできるユーティリティークラスを追加(
.u-smooth-scroll) - 「Snow Monkey: 最近の投稿ウィジェット」にテキストだけのシンプルなレイアウトを追加
- 目次の自動表示の廃止(
snow_monkey_display_contents_outlineフックで有効化可能) - このページの子ページの自動表示の廃止(
snow_monkey_display_child_pagesフックで有効化可能) template-parts/breadcrumbsをtemplate-parts/common/breadcrumbsに移動template-parts/google-adsenseをtemplate-parts/common/google-adsenseに移動template-parts/infobarをtemplate-parts/common/infobarに移動template-parts/like-me-boxをtemplate-parts/common/like-me-boxに移動template-parts/overlay-search-boxをtemplate-parts/common/overlay-box-search-boxに移動template-parts/page-headerをtemplate-parts/common/page-headerに移動template-parts/page-topをtemplate-parts/common/page-topに移動template-parts/profile-boxをtemplate-parts/common/profile-boxに移動mimizuku_get_template_part_args、mimizuku_get_template_part_テンプレートパーツスラッグフィルターフックを追加
リンクをスムーススクロールにできるユーティリティークラスを追加
.u-smooth-scroll を付与することで、そのアンカーリンクもしくはその配下のアンカーリンクがスムーススクロールになるようになりました。ブロックエディターを利用しているなら、ブロックのインスペクターに「高度な設定」というパネルがあって、その中の「追加 CSS クラス」から簡単にクラスを追加できるので試しやすいと思います!
「Snow Monkey: 最近の投稿ウィジェット」にテキストだけのシンプルなレイアウトを追加

こんなレイアウトを選べるようになりました。Snow Monkey Blocks の「最近の投稿」ブロックでも近日中にこのレイアウトを選択できるようにします。
目次、このページの子ページの自動表示の廃止
これまでカスタマイザーで「目次」「このページの子ページ」を表示する、という機能があって自動的に「目次」「このページの子ページ」を表示させることができるようになっていましたが、エディターがブロックエディターになり、コンテンツに関することはブロックでやったほうがより「WordPress 的」な感じになってきたので、「目次」「このページの子ページ」も基本的にはブロックでやろうということで、自動表示を廃止することにしました。
いずれも Snow Monkey Blocks にブロックがありますので、これからは各記事にブロックとして入れて頂く形になります。
一応、目次は snow_monkey_display_contents_outline、このページの子ページは snow_monkey_display_child_pages というフックで true を返すことで自動表示を有効にさせることができます。
テンプレートパーツ読み込みに関するフックを追加
Snow Monkey は、v5 からテーマ内の全ての get_template_part() が、オリジナルの \Framework\Helper::get_template_part() に置き換えました。基本的には普通の get_template_part() と全く同じように使えるのですが、内部にフックが用意してあり、格段にカスタマイズ性が向上しています。
引数を変更するフック
mimizuku_get_template_part_args というフックで引数を変更することができます。例えば、get_template_part( 'template-parts/hoge' ) とすると テーマ/template-parts/hoge.php が読み込まれますよね。これを特定の条件のときだけ テーマ/template-parts/fuga.php を読み込ませるとかに変更することができます。
/**
* @param array $args
* @var string $slug
* @var string $name
* @var array $vars
*/
add_filter(
'mimizuku_get_template_part_args',
function( $args ) {
return $args;
}
);
テンプレートを読み込まずにフックで直接 HTML を出力する
これやばくないですか。get_template_part() って普通そのパーツのファイルを用意しておかないとダメじゃないですか。それを読み込ませる、という関数なので。で、このテンプレートを上書きさせたいとなったとき、普通は子テーマの同位置にテンプレートを用意するわけですが、まーこれがめんどくさい。これを、テンプレートを用意せずに、例えば functions.php にコードを書くだけで上書きができるようにしました。
/**
* 例として、template-parts/common/page-header を上書きする場合
*/
add_action(
'mimizuku_get_template_part_template-parts/common/page-header',
function( $name, $vars ) {
?>
<div>オリジナルのページヘッダーだ!</div>
<?php
},
10,
2
);
v5.0 正式版の公開時期
もう個人的にはほぼ致命的なバグは無いだろうと思っているので、そうですね、1/14〜18 あたりで様子をリリースしようかなと考えています。子テーマを使ってカスタマイズされている方は、v4からv5にアップデートすると確実に事故るので、必ず事前にテストをお願いします。

