Определить определенный update_user_meta в Worpress - PullRequest
0 голосов
/ 22 марта 2019

Я хотел бы закодировать плагин Wordpress / WooCommerce, запускающий функцию каждый раз, когда она вызывается:

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

Но я не знаю, какой хук я должен использовать и как его использовать.

1 Ответ

2 голосов
/ 22 марта 2019

Аналогичный вопрос был задан здесь .

В ответе говорится, что необходимо использовать фильтр 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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...