Snow Monkey v11.6.0 の概要
機能追加
- 記事一覧部分のテンプレートにコンテキストの設定を追加
- ハンバーガーボタンの位置の設定を追加
変更
.p-archvie
を、template-parts/archive/archive.php
として切り出し.c-entries
を、template-parts/common/entries.php
として切り出し- デザインスキンのメイン CSS は Snow Monkey および関連アドオンより後に読み込まれるように変更
- 表示高速化のため、パンくず用のデータをキャッシュするように変更
- お知らせバーで FontAwesome の HTML タグを使えるように変更(例:
<i class="fas fa-star"></i>
) - はてなブックマークボタンのシェアカウントは、カスタマイザーで「http と https の両方をカウントする」が有効なときも合算しないように変更(はてなブックマーク側で合算して表示してくれるため)
- 固定ページ・カスタム投稿の場合でも投稿と同じようなコンポーネント(シェアボタンとかプロフィールボックスとか)を表示できるように
templates/view/content.php
、templates/view/content-xxx.php
の構造を変更 - カスタム投稿アーカイブの場合でも投稿のアーカイブページと同じようなコンポーネントを表示できるように
templates/view/archive.php
、templates/view/archive-xxx.php
の構造を変更 - 固定ページの場合はデフォルトでコメントエリアが表示されなくなりました
不具合の修正
- カスタマイザーで設定した「ページレイアウト」の幅がエディターに反映されないことがある不具合を修正
- お知らせバーの文章が長いときに、レイアウトが崩れることがある不具合を修正
ハンバーガーボタンの位置の設定を追加
カスタマイザー → デザイン → ヘッダー → ハンバーガーボタンの位置で、左か右かを選ぶことができるようになりました。
記事一覧部分のテンプレートにコンテキストの設定を追加
記事一覧部分のテンプレート(template-parts/widget/snow-monkey-posts.php
や template-parts/common/entries.php
、template-parts/loop/*.php
など)は、記事一覧ページ、最近の投稿ウィジェット、最近の投稿ブロックなど様々な場所から共通利用されるようになっています。
そのため、snow_monkey_template_parts_render
などのフックで HTML をカスタマイズしようとしたときに「記事一覧ページの一覧部分はカスタマイズしたいけど最近の投稿ウィジェットの一覧部分はカスタマイズしたくない」というようなことがやりづらくなってしました。
今回のアップデートで、テンプレート変数に _context
という変数を追加しました。この _context
をチェックすれば、どの文脈で記事一覧部分のテンプレートが読み込まれているかがわかり、「記事一覧ページの一覧部分はカスタマイズしたいけど最近の投稿ウィジェットの一覧部分はカスタマイズしたくない」のようなことが実現できるようになりました。
add_filter(
'snow_monkey_template_part_render_template-parts/common/entries',
function( $html, $name, $vars ) {
if ( 'archive' === $vars['_context'] ) {
// 記事一覧ページのときだけカスタマイズする
return str_replace( ... );
}
return $html;
},
10,
3
);
ちなみに、各テンプレートに渡されるテンプレート変数は snow_monkey_get_template_part_args
フィルターフックでカスタマイズできますが、_context
は例外的にフックから変更不可としています。
固定ページ・カスタム投稿の場合でも投稿と同じようなコンポーネント(シェアボタンとかプロフィールボックスとか)を表示できるように templates/view/content.php、templates/view/content-xxx.php の構造を変更
これまで固定ページやカスタム投稿ページに例えばシェアボタンを表示したいと思ったときは、テンプレートを上書きするか、snow_monkey_template_part_render
フックで HTML を置換するか形で追加するしか方法がなく、少々複雑度やメンテナンスの難しさが高い状態でした。
今回のアップデートで、snow_monkey_get_template_part_args
フックで表示したいコンポーネント用の変数を有効にするだけで出し分けができるようになりました。
/**
* 固定ページにシェアボタンを表示する例。
* 単純に $args['vars']['_display_top_share_buttons'] = true でも良いけど、
* 一応カスタマイザーでシェアボタンの設定がしてある場合だけ表示されるようにしてみました。
*/
add_filter(
'snow_monkey_get_template_part_args_templates/view/content',
function( $args ) {
if ( 'page' === $args['name'] ) {
$share_buttons_position = get_option( 'mwt-share-buttons-display-position' );
$display_top_share_buttons = ! empty( $share_buttons_position );
$args['vars']['_display_top_share_buttons'] =$display_top_share_buttons;
}
return $args;
}
);
表示/非表示できるコンポーネントや変数の名前は下記ページで確認してください。
固定ページの場合はデフォルトでコメントエリアが表示されなくなりました
次のコードを追加することで固定ページでもコメントエリアを表示するようになります(下記のコードを追加しても、ディスカッションの設定でコメントを無効化している場合は表示されません)。
add_filter(
'snow_monkey_get_template_part_args_templates/view/content',
function( $args ) {
if ( 'page' === $args['name'] ) {
$args['vars']['_display_comments'] = true;
}
return $args;
}
);