ホーム > 2022アドベントカレンダー > snow_monkey_template_part_render_template-partsを利用し、色んな所に 😩 を表示する

snow_monkey_template_part_render_template-partsを利用し、色んな所に 😩 を表示する

サッカー日本代表、決勝トーナメント進出おめでとうございます!! 🎉 しっかり見てしまって、今頃とても眠いです。こういう時事ネタを入れられるのもアドベントカレンダーらしいかなと思っています。

そして今日の記事です。昨日の 「snow monkeyのフィルターを使ったカスタマイズでよく利用するもの 」の続きをお届けします。今回はsnow_monkey_template_part_render_template-parts を利用したものです.

では、いってみましょう! オナシャース。

色んな所に😩を出す

一覧ページ

/**
 * 一覧の画像に重なる分類の最後に😩
 *
 * @param string $html 中身の内容.
 */
function megane_entry_summary_term( $html ) {
	$html = str_replace( '</span>', '😩</span>', $html );
	return $html;
}
add_filter( 'snow_monkey_template_part_render_template-parts/loop/entry-summary/term/term', 'megane_entry_summary_term', 10, 3 );

/**
 * 一覧の記事タイトルの最後に😩
 *
 * @param string $html 中身の内容.
 */
function megane_entry_summary_title( $html ) {
	$html = str_replace( '</h3>', '😩</h3>', $html );
	return $html;
}
add_filter( 'snow_monkey_template_part_render_template-parts/loop/entry-summary/title/title', 'megane_entry_summary_title', 10, 3 );
/**
 * 一覧の抜粋分の最後に😩
 *
 * @param string $html 中身の内容.
 */
function megane_entry_summary_content( $html ) {
	$html = str_replace( '</div>', '😩</div>', $html );
	return $html;
}
add_filter( 'snow_monkey_template_part_render_template-parts/loop/entry-summary/content/content', 'megane_entry_summary_content', 10, 3 );
/**
 * 一覧のメタの最初に😩
 *
 * @param string $html 中身の内容.
 */
function megane_entry_summary_meta( $html ) {
	$html = str_replace( 'c-meta__item--author">', 'c-meta__item--author">😩', $html );
	$html = str_replace( 'c-meta__item--published">', 'c-meta__item--published">😩', $html );
	$html = str_replace( 'c-meta__item--categories">', 'c-meta__item--categories">😩', $html );
	return $html;
}
add_filter( 'snow_monkey_template_part_render_template-parts/loop/entry-summary/meta/meta', 'megane_entry_summary_meta', 10, 3 );

詳細ページ

/**
 * 詳細のタイトルの最後に😩
 *
 * @param string $html 中身の内容.
 */
function megane_entry_header( $html ) {
	$html = str_replace( '</h1>', '😩</h1>', $html );
	return $html;
}
add_filter( 'snow_monkey_template_part_render_template-parts/content/entry/header/header', 'megane_entry_header', 10, 3 );
/**
 * 詳細のタイトル下のメタのそれぞれの最初に😩
 *
 * @param string $html 中身の内容.
 */
function megane_entry_content_meta( $html ) {
	$html = str_replace( 'c-meta__item--author">', 'c-meta__item--author">😩', $html );
	$html = str_replace( 'c-meta__item--published">', 'c-meta__item--published">😩', $html );
	$html = str_replace( 'c-meta__item--categories">', 'c-meta__item--categories">😩', $html );
	return $html;
}
add_filter( 'snow_monkey_template_part_render_template-parts/content/entry-meta', 'megane_entry_content_meta', 10, 3 );
/**
 * 詳細のコンテンツ下のプロフィールボックスに😩
 *
 * @param string $html 中身の内容.
 */
function megane_profile_box( $html ) {
	$html = str_replace( '</h2>', '😩</h2>', $html );
	return $html;
}
add_filter( 'snow_monkey_template_part_render_template-parts/common/profile-box', 'megane_profile_box', 10, 3 );
/**
 * 詳細のコンテンツ下の次前のナビゲーションに😩
 *
 * @param string $html 中身の内容.
 */
function megane_prev_next_nav( $html ) {
	$html = str_replace( 'c-prev-next-nav__item-label">', 'c-prev-next-nav__item-label">😩', $html );
	$html = str_replace( 'c-prev-next-nav__item-title">', 'c-prev-next-nav__item-title">😩', $html );
	return $html;
}
add_filter( 'snow_monkey_template_part_render_template-parts/content/prev-next-nav', 'megane_prev_next_nav', 10, 3 );

足すだけでなく、フックに掛かっているものを外す場合

/**
 * 詳細のタイトル下のメタをすべて取り外す
 */
function megane_remove_entry_summary_meta() {
	remove_action( 'snow_monkey_entry_meta_items', 'snow_monkey_entry_meta_items_published', 10 );
	remove_action( 'snow_monkey_entry_meta_items', 'snow_monkey_entry_meta_items_modified', 20 );
	remove_action( 'snow_monkey_entry_meta_items', 'snow_monkey_entry_meta_items_author', 30 );
	remove_action( 'snow_monkey_entry_meta_items', 'snow_monkey_entry_meta_items_categories', 40 );
}
add_action( 'snow_monkey_entry_meta_items', 'megane_remove_entry_summary_meta', 9 );

フックの中身を空で返す

/**
 * フックの部分をごっそり削除する場合
 */
add_filter( 'フックの場所', '__return_false' );

というわけで、個人的によく使いそうなところをメモも兼ねて一覧しました。それぞれの箇所において、ただ 😩 をつけただけですが。

実際には、例えば特定のタグにclassを動的な条件でつけて見栄えを変えたり、付近にカスタムフィールドから取得した情報を付与したり、いろんな事をしてます。

と作者のキタジマさんも言ってくれてる通り、これらのフックを利用してカスタマイズすることで、基本的なフレームワークとしての外観や出力の継続的なサポートをSnow Monkeyに任せつつ、必要な部分だけをカスタマイズしてサイトを作っていく手法が最近は気に入ってます。

ありがたい限りですね。


今日も無事に書けました!! 明日からは休みなので気が抜けて、飛んでしまいそうです。いやいや頑張れ私。明日も続きます!!