Snow Monkey v5 ベータ3

先日 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/breadcrumbstemplate-parts/common/breadcrumbs に移動
  • template-parts/google-adsensetemplate-parts/common/google-adsense に移動
  • template-parts/infobartemplate-parts/common/infobar に移動
  • template-parts/like-me-boxtemplate-parts/common/like-me-box に移動
  • template-parts/overlay-search-boxtemplate-parts/common/overlay-box-search-box に移動
  • template-parts/page-headertemplate-parts/common/page-header に移動
  • template-parts/page-toptemplate-parts/common/page-top に移動
  • template-parts/profile-boxtemplate-parts/common/profile-box に移動
  • mimizuku_get_template_part_argsmimizuku_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にアップデートすると確実に事故るので、必ず事前にテストをお願いします。

v5.0 RCのダウンロード

ここから先は Snow Monkey サブスクリプションユーザー特典です。継続課金されている方はログインして閲覧できます。ご購入がまだの方はこちらから購入できます。

この記事を書いた人

キタジマ タカシ

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

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

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