我想编写一个每次调用此功能时都会启动一个功能的Wordpress / WooCommerce插件:
update_user_meta($user_id,'mwb_wpr_points',$nomber_of_points);
但是我不知道应该使用哪个钩子以及如何使用它。
答案 0 :(得分:2)
有人问here类似的问题。
答案表明需要使用insert_user_meta
过滤器。
我尚未测试以下代码,但我相信要更新的值将存储在$_POST
中。您可以对照现有值来确定该字段是否正在更新。希望这足以让您入门。
add_filter('insert_user_meta', 'my_updated_user_meta', 10, 3);
function my_updated_user_meta($meta, $user, $update) {
// if not updating the field, because it is a create, do nothing
if( true !== $update ) {
return $meta;
}
$old_meta = get_user_meta( $user->ID );
if(isset($_POST['mwb_wpr_points']) && isset($old_meta['mwb_wpr_points']))
if($old_meta['mwb_wpr_points'][0] !== $_POST['mwb_wpr_points']) {
// mwb_wbr_points has been updated.
// do your code here
}
}
return $meta;
}