Skip to content

Action hooks

Takashi Kitajima edited this page May 27, 2019 · 21 revisions

Action hooks 目次

snow_monkey_prepend_drawer_nav

ドロワーナビゲーション内メニュー前に HTML を表示

add_action(
	'snow_monkey_prepend_drawer_nav',
	function() {
		?>
		表示したい HTML 文字列
		<?php
	}
);

snow_monkey_append_drawer_nav

ドロワーナビゲーション内メニュー後にHTMLを表示

add_action(
	'snow_monkey_append_drawer_nav',
	function() {
		?>
		表示したい HTML 文字列
		<?php
	}
);

snow_monkey_prepend_body

bodyタグの直後にHTMLを表示させる

※ Snow Monkey 5.6.0 以上 + WordPress 5.2 以上の場合は wp_body_open を推奨

add_action(
	'snow_monkey_prepend_body',
	function() {
		?>
		表示したい HTML 文字列
		<?php
	}
);

snow_monkey_get_template_part_<slug>

該当のテンプレートパーツの出力を変更

MEMO: フック名の<slug>の部分は、該当のテンプレートパーツのslug名となります。
想定される使い方として、テンプレートの特定のHTMLを置換するなどに使います。(コードを参照)

/**
 * @param $name テンプレート名
 * @param $vars テンプレートへのリクエスト配列
 */
add_action(
	'snow_monkey_get_template_part_templates/view/404',
	function( $name, $vars ) {
		\Framework\Helper::get_template_part( 'templates/view/404' );
		$html = ob_get_clean();
		ob_start();
		$html = str_replace(
			'書き換え前の文字列',
			'書き換え後の文字列',
			$html
		);
		echo $html;
	},
	10,
	2
);

snow_monkey_get_template_part_<slug>-<name>

該当のテンプレートパーツの出力を変更

※ Snow Monkey v6 ベータ3より追加

MEMO: フック名の<slug>と<name&gtの部分は、該当のテンプレートパーツのslug名、またはname名となります。
想定される使い方として、テンプレートの特定のHTMLを置換するなどに使います。(コードを参照)

/**
 * @param $name テンプレート名
 * @param $vars テンプレートへのリクエスト配列
 */
add_action(
	'snow_monkey_get_template_part_template-parts/content/entry/header/header-post',
	function( $name, $vars ) {
		\Framework\Helper::get_template_part( 'template-parts/content/entry/header/header', 'post' );
		$html = ob_get_clean();
		ob_start();
		$html = str_replace(
			'書き換え前の文字列',
			'書き換え後の文字列',
			$html
		);
		echo $html;
	},
	10,
	2
);

snow_monkey_prepend_footer

フッターの前にhtmlを挿入する

MEMO: 位置的には、<footer>タグの後(ソーシャルナビの前)となる。

add_action(
	'snow_monkey_prepend_footer',
	function() {
		?>
		表示したい HTML 文字列
		<?php
	}
);

snow_monkey_append_footer

フッターの後にhtmlを挿入する

MEMO: 位置的には、</footer>タグの前。コピーライトの上(正しくはページトップの前)となる。

add_action(
	'snow_monkey_append_footer',
	function() {
		?>
		表示したい HTML 文字列
		<?php
	}
);

snow_monkey_prepend_sidebar

サイドバーの最初にhtmlを挿入する

MEMO: サイドバーの<aside>の後に挿入される。

add_action(
	'snow_monkey_prepend_sidebar',
	function() {
		?>
		表示したい HTML 文字列
		<?php
	}
);

snow_monkey_append_sidebar

サイドバーの最後にhtmlを挿入する

MEMO: サイドバーの</aside>の前に挿入される。

add_action(
	'snow_monkey_append_sidebar',
	function() {
		?>
		表示したい HTML 文字列
		<?php
	}
);

snow_monkey_sidebar

サイドバーのテンプレートパーツの読み込みを制御

MEMO: デフォルトは優先度20。

add_action(
	'snow_monkey_sidebar',
	function() {
		if ( 該当テンプレートパーツに変更する条件 ) {
			\Framework\Helper::get_template_part( 'template-parts/widget-area/テンプレートパーツ名' );
		}
	}
);

snow_monkey_prepend_main

メインコンテンツ前にHTMLを追加

MEMO: <manin>の後に追加される。

add_action(
	'snow_monkey_prepend_main',
	function() {
		?>
		表示したい HTML 文字列
		<?php
	}
);

snow_monkey_append_main

メインコンテンツ後にHTMLを追加

MEMO: </manin>の前に追加される。

add_action(
	'snow_monkey_append_main',
	function() {
		?>
		表示したい HTML 文字列
		<?php
	}
);

snow_monkey_prepend_contents

コンテンツの先頭にHTMLを追加

MEMO: <div class="l-contents" role="document">の後に追加される。 位置としてはお知らせバーの上辺りになります。

add_action(
	'snow_monkey_prepend_contents',
	function() {
		?>
		表示したい HTML 文字列
		<?php
	}
);

snow_monkey_append_contents

コンテンツの最終にHTMLを追加

MEMO: <div class="l-contents" role="document">の閉じタグ前に追加される。
位置としては、ソーシャルナビを含む、フッター表示の前です。

add_action(
	'snow_monkey_append_contents',
	function() {
		?>
		表示したい HTML 文字列
		<?php
	}
);

snow_monkey_before_contents_inner

インナーコンテンツ先頭の位置にHTMLを追加する

MEMO: 位置としては、パンくずをコンテンツの上と設定していれば、その下辺りになります。

add_action(
	'snow_monkey_before_contents_inner',
	function() {
		?>
		表示したい HTML 文字列
		<?php
	}
);

snow_monkey_after_contents_inner

インナーコンテンツ最終の位置にHTMLを追加する

MEMO: 位置としては、パンくずをコンテンツの下と設定していれば、その上辺りになります。

add_action(
	'snow_monkey_after_contents_inner',
	function() {
		?>
		表示したい HTML 文字列
		<?php
	}
);

snow_monkey_before_entry_content

エントリーコンテンツの先頭にHTMLを追加する

MEMO: 投稿や固定ページであれば、投稿本文、または固定ページのページ編集内容の先頭となります。

add_action(
	'snow_monkey_before_entry_content',
	function() {
		?>
		表示したい HTML 文字列
		<?php
	}
);

snow_monkey_after_entry_content

エントリーコンテンツの最終にHTMLを追加する

MEMO: 投稿や固定ページであれば、投稿本文、または固定ページのページ編集内容の最終となります。

add_action(
	'snow_monkey_after_entry_content',
	function() {
		?>
		表示したい HTML 文字列
		<?php
	}
);

snow_monkey_entry_meta_items

投稿の概要要素(entry_meta)を追加する

MEMO: 投稿の概要要素とは、投稿記事タイトル下の「投稿日時、更新日時、投稿者名、カテゴリ」などの要素を指します。
<ul>タグ内に書かれているフックな為、<li>から記述する必要があります。(5.6.1現在)
各優先度によって表示される位置が異なります。(下記の数値位置は、5.6.1現在)

  • 1〜10 : 先頭
  • 11〜20 : 投稿日の後ろ
  • 21〜30 : 更新日の後ろ
  • 31〜40 : 投稿者の後ろ
  • 41以上 : カテゴリの後ろ
add_action(
	'snow_monkey_entry_meta_items',
	function() {
		?>
		<li class="c-meta__item c-meta__item--アイテム名">表示したいHTML</li>
		<?php
	},
	10,
	1
);
Clone this wiki locally