先日 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にアップデートすると確実に事故るので、必ず事前にテストをお願いします。