我正在更新一个帖子元字段,这对我来说适用下面的代码。现在我想升级代码以检查新值是否与旧值相同
add_action( 'updated_post_meta', 'update_function', 10, 4 );
function update_function( $meta_id, $post_id, $meta_key, $meta_value )
{
// check if $old_value == $new_value
}
我应该使用其他动作挂钩吗?旧值保存在哪里,新值又保存在哪里?
为了获取帖子元值,您应该使用 get_post_meta($post_id,'meta_key',true) 在这里阅读更多相关信息来自 WordPress 文档的 get_post_meta
然后在你的函数中使用这段代码,应该可以解决你的问题
// not sure if you should use this action hook, maybe try a different trigger
// if u=you are updating user meta then use user_register hook to update user after registration
// hook that you are using is update_post_meta and not updated_post_meta
add_action( 'updated_post_meta', 'update_function', 10, 4 );
function update_function( $meta_id, $post_id, $meta_key, $meta_value )
{
// get post meta value
$old_value = get_post_meta($post_id, $meta_key, true);
if($old_value == $new_value){
return false;
}else{
return $new_value = update_post_meta($post_id, $meta_key, $updated_value);
}
}