Intereting Posts
Проверьте наличие настраиваемого поля Натуральный URL-дизайн и статическая страница Добавлено if statement to loop Альтернатива фильтру comment_reply_link Решить свойства продукта с помощью пользовательских таксономий? WordPress Customize – Переместить опции / меню «меню» в другой раздел Удалить определенную страницу / сообщение из фида Загружать jquery только для определенных страниц в бэкэнд «Средний» размер изображения отображается вместо «thumbnail» только в одном сообщении, другие сообщения в порядке Фильтр для изменения настроек MediaElement.js Домашняя страница перенаправляется на другую страницу – нет очевидной причины Как встраивать собственный HTML-код без плагинов? Пользовательские типы сообщений с настраиваемыми каталогами Уведомление об отладке: X устарел с версии 4.5! Вместо этого используйте Y Как добавить ссылку (href), поэтому, когда я нажимаю на нее, она отображает (показывает все) сообщения пользовательского типа сообщений (rich_media) из текущей категории?

Как обновить billing_email при обновлении user_email

Я пытаюсь добиться двухсторонней синхронизации между user_email и billing_email (ключ для электронной почты woocommerce). Пока у меня есть работа, когда клиент редактирует / обновляет свой платежный адрес электронной почты, их user_email обновляется следующим кодом:

 add_action( 'woocommerce_customer_save_address','isa_customer_save_address', 10, 1); function isa_customer_save_address() { global $woocommerce; $user_id = get_current_user_id(); wp_update_user( array ( 'ID' => $user_id, 'user_email' => $_POST['billing_email'] ) ) ; } 

Теперь, как мне обновить billing_email клиента, когда они редактируют / обновляют свою user_email ?

Solutions Collecting From Web of "Как обновить billing_email при обновлении user_email"

Этот код должен сделать это за вас. Он добавляет действие для обновления профиля WordPress, проверяет, обновлено ли электронное письмо, и если да, то он также обновляет адрес Woocommerce.

 add_action('profile_update', 'sync_woocommerce_email', 10, 2) ; function sync_woocommerce_email( $user_id, $old_user_data ) { $current_user = wp_get_current_user(); if ($current_user->user_email != $old_user_data->user_email) { wp_update_user( array ( 'ID' => $current_user->ID, 'billing_email' => $current_user->user_email ) ) ; } } 

Редактировать: я сделал что-то не так, я предполагаю, что это довольно просто, я еще не видел его.