• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

関数リファレンス/do action

提供: WordPress Codex 日本語版
移動先: 案内検索

説明

指定されたアクションフックに付けられた関数を実行します。

この関数はアクションフック $tag に付けられたすべての関数を実行します。この関数を、新しいフックの名前を $tag パラメータに指定して呼び出せば、アクションフックを新しく作成できます。apply_filters() と同様に、追加の引数をフックへ渡すことができます。この関数は、何も返さず、関数またはメソッドを呼び出すだけであることを除き、apply_filters() に似ています。

add_action() を使って関数をアクションフックへ付けることができます。

使い方

<?php do_action( $tag, $arg ); ?>

複数の引数を与える場合:

<?php do_action( $tag, $arg_a, $arg_b, $etc ); ?>

パラメータ

$tag
文字列) (必須) 実行したいアクションフックの名前。
初期値: なし
$arg
mixed) (オプション) フックに付けられた関数へ送る引数のリスト。
初期値: 空の文字列

戻り値

この関数は値を返しません。

用例

<?php 
# ======= (mu-)プラグイン、テーマ、コアのどこか ======= #

/**
 * You can have as many arguments as you want,
 * but your callback function and the add_action call need to agree in number of arguments.
 * Note: `add_action` above has 2 and 'i_am_hook' accepts 2. 
 * You will find action hooks like these in a lot of themes & plugins and in many place @core
 * @see: http://codex.wordpress.org/Plugin_API/Action_Reference
 */

# ======= 例えば functions.php ファイル内 ======= #

/**
 * Define callback function
 * Inside this function you can do whatever you can imagine
 * with the variables that are loaded in the do_action() call above.
 */
function who_is_hook( $a, $b )
{
	echo '<code>';
		print_r( $a ); // `print_r` the array data inside the 1st argument
	echo '</code>';

	echo '<br />'.$b; // echo linebreak and value of 2nd argument
}

// then add it to the action hook, matching the defined number (2) of arguments in do_action
// see [http://codex.wordpress.org/Function_Reference/add_action] in the Codex 

// add_action( $tag, $function_to_add, $priority, $accepted_args );
add_action( 'i_am_hook', 'who_is_hook', 10, 2 );

// Define the arguments for the action hook
$a = array(
	 'eye patch' => 'yes'
	,'parrot' => true
	,'wooden leg' => (int) 1
);
$b = 'And Hook said: "I ate ice cream with Peter Pan."'; 

// Executes the action hook named 'i_am_hook'
do_action( 'i_am_hook', $a, $b );


# ======= ブラウザで出力を参照 ======= #

Array ( 
	['eye patch'] => 'yes'
	['parrot'] => true
	['wooden leg'] => 1
) 
And hook said: "I ate ice cream with Peter Pan."

参考

  • グローバル変数 /en $wp_filter を使用します。フィルターとアクションをすべて格納しています。
  • グローバル変数 /en $wp_actions を使用して、アクションが呼び出された回数を数えます。

変更履歴

新規導入: 1.2.0

ソースファイル

do_action()wp-includes/plugin.php にあります。

関連項目

アクション: has_action(), add_action(), do_action(), do_action_ref_array(), did_action(), remove_action(), remove_all_actions()



関数リファレンステンプレートタグ目次もご覧ください。


最新英語版: WordPress Codex » Function Reference/do_action最新版との差分

fax:Function_Reference/do_action