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