我想在WordPress中将$ extra变量传递给my_function。以下是执行此操作的唯一方法(定义全局),还是有更好的方法来执行此操作.....
global $extra;
$extra = 'some value';
do_action( 'save_post','my_function' $post_ID);
function my_function($post_ID) {
global $extra;
/* other codes here*/
}
答案 0 :(得分:0)
您可以将数组作为参数传递。不是最美丽的方式,但它会起作用。
$arg = array('extra'=>'some value', 'post_ID'=>$post_ID);
do_action('save_post','my_function', $arg);
function my_function($arg) {
$extra = $arg['extra'];
$post_ID = $arg['post_ID'];
/* other codes here*/
}
答案 1 :(得分:0)
有两种方法可以做到这一点:
do_action('action_name', $arg1, $arg2)
和add_action($action_name, $callback_function, $priority, $arg_count)
,其中$arg_count
是操作处理程序接受的参数数量。在大多数情况下,$priority
应为10。另请参阅http://codex.wordpress.org/Function_Reference/add_action