我想尝试钩子,我的自定义字段的更新操作。如果更新了特定的自定义字段,我想显示日期。
在我的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(或所有其他参数)都是空的。
如果您有任何建议?
答案 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
}