#php #wordpress #woocommerce #hook-woocommerce
#php #wordpress #woocommerce #подключение-woocommerce
Вопрос:
Я хотел бы закодировать плагин WordPress / WooCommerce, запускающий функцию при каждом ее вызове :
update_user_meta($user_id,'mwb_wpr_points',$nomber_of_points);
Но я не знаю, какой хук мне следует использовать и как его использовать.
Ответ №1:
Аналогичный вопрос был задан здесь.
В ответе указано, что необходимо использовать 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']) amp;amp; 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;
}