Snow Monkey / unitone Advent Calendar 2022の二日目の記事としてお送りします。
My Snow Monkeyプラグインを利用してSnow Monkeyをカスタマイズしますね。そのときにadd_action関連なら、HAPPY SNOW MONKEY | 100%GPL有料WordPressテーマ Snow Monkeyの非公式カスタマイズデモサイト を参考にするのがいいとも思います。
いつも大変お世話になってます。昨日のアドベントカレンダー初日の記事もおすすめです。Snow Monkeyを使ったウェブサイト制作チップス2022
じゃあ、この記事は何か?というとadd_filterを利用したカスタマイズで、よく使うものを集めました。フィルターフックについてはこちらをご覧ください。 add_filter() | Function | WordPress Developer Resources
では、早速参りましょう!
theme_mod_関連を利用したカスタマイズ
こちらは、主にカスタマイザーから設定できるレイアウトの変更について紹介しています。「じゃあ、カスタマイザーでいいじゃん?」となるかもですが。色んな事情があります。
例えば特定のカテゴリーとその子のカテゴリーだけ、レイアウトを変更したいとか。ログインしてるユーザーの権限でレイアウトを変えたいとか。なにかしらの条件でレイアウトが変えたい場合があるわけです。そのときにはこちらを利用してます。
ヘッダーは全体の theme_mod_header-potition
とPC用の theme_mod_header-potition-lg
で設定します。
/**
* ヘッダーのレイアウト変更
*
* @param string $setting レイアウトのセッティング
* sticky : 上部固定
* sticky-overlay : オーバレイ(上部固定)
* sticky-overlay-colored : オーバーレイ(上部固定 / スクロール時背景白)
* overlay : オーバレイ
* '' : ノーマル.
*/
function megane_header_layout( $setting ) {
$setting = 'sticky-overlay';
return $setting;
}
// SP用.
add_filter( 'theme_mod_header-potition', 'megane_header_layout' );
// PC用.
add_filter( 'theme_mod_header-potition-lg', 'megane_header_layout' );
ページ自体のレイアウトはこちら。レイアウトの名前を今回一覧にしたのは、ワタシ的に今後使いやすそうです。
/**
* レイアウトを変更
*
* @param string $setting レイアウトのセッティング
* blank-content : ランディングページ(ヘッダー・フッターあり)
* blank : ランディングページ
* blank-slim : ランディングページ(スリム幅)
* one-column : 1カラム
* left-sidebar : 左サイドバー
* one-column-slim : 1カラム(スリム幅)
* one-column-full : フル幅
* right-sidebar : 右サイドバー.
*/
function megane_layout_setting( $setting ) {
$setting = 'one-column';
return $setting;
}
add_filter( 'snow_monkey_layout', 'megane_layout_setting' );
snow_monkey_get_template_part_args_を利用したカスタマイズ
snow_monkey_get_template_part_args_hoge を利用すると、設定をサクッと変更できます。これで事足ることもわりとありますね。
ハンバーガーメニューの下の文字をカスタマイズします、なくしたいときは空でかえします。
/**
* ヘッダーのハンバーガーナビの文字を変更
*
* @param array $args ハンバーガーボタンの設定.
*/
function megane_hamburger_btn( $args ) {
$args['vars']['_label'] = '👓';
return $args;
}
add_filter( 'snow_monkey_get_template_part_args_template-parts/header/hamburger-btn', 'megane_hamburger_btn' );
カテゴリー毎に特定のヘッダー画像と文字を入れたいなどの場合はこちら。文字と背景画像を設定します。
/**
* アーカイブのヘッダー中身を変更する
*
* @param array $args ヘッダーのアイキャッチ部分の設定.
*/
function megane_page_header_arg( $args ) {
$args['vars']['_title'] = '👓';
$args['vars']['_image'] = '<img src="' . MY_SNOW_MONKEY_URL . '/dist/img/something.png" alt="something">';
return $args;
}
add_filter( 'snow_monkey_get_template_part_args_template-parts/common/page-header', 'megane_page_header_arg', 10, 3 );
次前のリンクを同カテゴリに絞る
/**
* 下部の次前の記事へのリンクを同じカテゴリーのみに限定する
*
* @param array $args 次前の設定.
*/
function megane_prev_next_nav( $args ) {
$args['vars']['_in_same_term'] = true;
return $args;
}
add_filter( 'snow_monkey_get_template_part_args_template-parts/content/prev-next-nav', 'megane_prev_next_nav' );
アイキャッチのサイズを変更する。
カテゴリごとに、レイアウトが違うときなどは、最適なサイズを選ぶほうが表示が軽くなったりしていいですよね。
/**
* 一覧のアイキャッチのサイズをthumbnailに変更
*
* @param array $args 次前の設定.
*/
function megane_archive_thumbnail_size( $args ) {
$args['vars']['_thumbnail_size'] = 'thumbnail';
return $args;
}
add_filter( 'snow_monkey_get_template_part_args_template-parts/loop/entry-summary/figure/figure', 'megane_archive_thumbnail_size', 10, 3 );
404の文言を変更する。
/**
* 404のメッセージ変更
*
* @param array $args は404で表示される文言.
*/
function megane_404_message( $args ) {
$args['vars']['_message'] = 'お探しのページは見つかりませんでした。';
return $args;
}
add_filter( 'snow_monkey_get_template_part_args_template-parts/content/entry/content/404', 'megane_404_message', 10, 3 );
というわけで、本日はここまでです。
おそらくこれまでにカスタマイズされたことのある人は、あれ?一番良く使うはずの snow_monkey_template_part_render_template-parts の例は?となったはずです。
それはまた次回!まだまだアドベントカレンダー期間は続きますからね。きっとどこかでかくと思います。ではまた明日。
とりあえず二日連続で書けてよかったです。
いま、改めて調べたら、色々書いてあるものがあったので、こちらも参考に