Skip to content

Action hooks

Takashi Kitajima edited this page Oct 1, 2020 · 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 ) {
		?>
		表示したい HTML 文字列
		<?php
	},
	10,
	2
);

snow_monkey_get_template_part_<slug>-<name>

非推奨

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

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

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

/**
 * @param $vars テンプレートへのリクエスト配列
 */
add_action(
	'snow_monkey_get_template_part_template-parts/content/entry/header/header-post',
	function( $vars ) {
		?>
		表示したい HTML 文字列
		<?php
	},
	10
);

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: <main> の後に追加される。

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

snow_monkey_append_main

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

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

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_prepend_entry_content

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

/**
 * @since 10.8.0
 */
add_action(
	'snow_monkey_prepend_entry_content',
	function() {
		?>
		表示したい HTML 文字列
		<?php
	}
);

snow_monkey_append_entry_content

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

/**
 * @since 10.8.0
 */
add_action(
	'snow_monkey_append_entry_content',
	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_prepend_archive_entry_content

アーカイブページのエントリーコンテンツの先頭に HTML を追加する

/**
 * @since 10.8.0
 */
add_action(
	'snow_monkey_prepend_archive_entry_content',
	function() {
		?>
		表示したい HTML 文字列
		<?php
	}
);

snow_monkey_append_archive_entry_content

アーカイブページのエントリーコンテンツの最後に HTML を追加する

/**
 * @since 10.8.0
 */
add_action(
	'snow_monkey_append_archive_entry_content',
	function() {
		?>
		表示したい HTML 文字列
		<?php
	}
);

snow_monkey_before_archive_entry_content

アーカイブページのエントリーコンテンツの前に HTML を追加する

/**
 * @since 10.8.0
 */
add_action(
	'snow_monkey_before_archive_entry_content',
	function() {
		?>
		表示したい HTML 文字列
		<?php
	}
);

snow_monkey_after_archive_entry_content

アーカイブページのエントリーコンテンツの後に HTML を追加する

/**
 * @since 10.8.0
 */
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
);

snow_monkey_pre_load_customizer

snow_monkey_post_load_customizer

snow_monkey_wp_awesome_widgets_view_<slug>

ウィジェットの HTML を関数内で定義できます。

/**
 * @param string $name
 * @param array $vars
 */
add_action(
	'snow_monkey_wp_awesome_widgets_view_<slug>',
	function( $name, $vars ) {
		?>
		HTML
		<?php
	},
	10,
	2
);

snow_monkey_wp_awesome_widgets_view_<slug>-<name>

ウィジェットの HTML を関数内で定義できます。

/**
 * @param array $vars
 */
add_action(
	'snow_monkey_wp_awesome_widgets_view_<slug>-<name>',
	function( $vars ) {
		?>
		HTML
		<?php
	}
);

snow_monkey_before_header_site_branding_column

ヘッダーロゴの左に HTML を追加する

/**
 * @since v11.5.0
 */
add_action(
	'snow_monkey_before_header_site_branding_column',
	function() {
		?>
		HTML
		<?php
	}
);

snow_monkey_after_header_site_branding_column

ヘッダーロゴの右に HTML を追加する

/**
 * @since v11.5.0
 */
add_action(
	'snow_monkey_after_header_site_branding_column',
	function() {
		?>
		HTML
		<?php
	}
);
Clone this wiki locally