Php 在Worpress中检测特定的更新\u用户\u元

Php 在Worpress中检测特定的更新\u用户\u元,php,wordpress,woocommerce,hook-woocommerce,Php,Wordpress,Woocommerce,Hook Woocommerce,我想编写一个Wordpress/WooCommerce插件,每次调用该插件时启动一个函数: update_user_meta($user_id,'mwb_wpr_points',$nomber_of_points); 但是我不知道应该使用哪个钩子以及如何使用它。有人问了一个类似的问题 答案说明需要使用insert\u user\u meta过滤器 我还没有测试下面的代码,但我相信正在更新的值将存储在$\u POST中。您可以对照现有值进行检查,以确定该字段是否正在更新。希望这足以让你开始 ad

我想编写一个Wordpress/WooCommerce插件,每次调用该插件时启动一个函数:

update_user_meta($user_id,'mwb_wpr_points',$nomber_of_points);

但是我不知道应该使用哪个钩子以及如何使用它。

有人问了一个类似的问题

答案说明需要使用
insert\u user\u meta
过滤器

我还没有测试下面的代码,但我相信正在更新的值将存储在
$\u 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;
}

有人提出了类似的问题

答案说明需要使用
insert\u user\u meta
过滤器

我还没有测试下面的代码,但我相信正在更新的值将存储在
$\u 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;
}