默认输出的值应传递给do_action()
作为第二个参数。E、 g.:
do_action( \'my_action\', \'<p>Default output</p>\' );
请注意,上面的代码实际上不会输出任何内容。它只会启动连接到
my_action
钩住它就会过去
\'<p>Default output</p>\'
这些功能。
您可以使用附加到my_action
挂钩:
add_action( \'my_action\', \'my_function\', 10, 1 );
function my_function( $default_output ) {
echo \'<p>foo</p>\';
}
add_action( \'my_action\', \'my_2nd_function\', 10, 1 );
function my_2nd_function( $default_output ) {
echo \'<p>bar</p>\';
}
add_action( \'my_action\', \'my_3rd_function\', 10, 1 );
function my_3rd_function( $default_output ) {
echo $default_output;
}
Output:
<p>foo</p>
<p>bar</p>
<p>Default output</p>
在这里使用过滤器可能更有意义。E、 g.:
echo apply_filters( \'my_filter\', \'<p>Default output</p>\' );
输出将由在
my_filter
挂钩:
add_action( \'my_filter\', \'my_filter_function_1\', 10, 1 );
function my_filter_function_1( $default_output ) {
return $default_output;
}
add_action( \'my_filter\', \'my_filter_function_2\', 20, 1 );
function my_filter_function_2( $default_output ) {
return \'<p>my_filter_function_2() output</p>\';
}
add_action( \'my_filter\', \'my_filter_function_3\', 30, 1 );
function my_filter_function_3( $default_output ) {
return \'<p>my_filter_function_3() output</p>\';
}
Output:
<p>my_filter_function_3() output</p>
如果没有回调附加到
my_filter
, 输出为:
<p>Default filter output</p>