Updated_postmeta参数什么都不返回

时间:2016-04-30 15:53:40

标签: wordpress

我想尝试钩子,我的自定义字段的更新操作。如果更新了特定的自定义字段,我想显示日期。

在我的functions.php中:

function add_date_war($meta_id, $object_id, $meta_key, $meta_value)
{   
    echo 'test : ' . $meta_key;
    if($meta_key == 'relics')
    {
        echo date('d-m-Y');
    } 
}
add_action( 'updated_postmeta', 'add_date_war', 10, 4);

和我的front_page.php:

do_action('updated_postmeta');

该函数返回echo,但我不知道为什么$ meta_key(或所有其他参数)都是空的。

如果您有任何建议?

1 个答案:

答案 0 :(得分:0)

do_action还传递了注册此钩子接受参数的参数。 例如:

//something insert data into database
$save_meta_id = 1;
$object_id = 5; 
$meta_key = 'meta_key_name';
$meta_value = 'something';
do_action('updated_postmeta', $save_meta_id, $object_id, $meta_key, $meta_value);

注册动作钩子接受4个参数

add_action( 'updated_postmeta', 'add_date_war', 10, 4);
function( $meta_id, $obj_id, $meta_key, $meta_value ){
  echo $meta_id; // 1
  echo $obj_id; // 5
  echo $meta_key; // meta_key_name
  echo $meta_value; // something
}