Intereting Posts
добавить таксономию в качестве одного из пунктов меню Среда разработки WPMU Попытка сопоставить PURL как url ​​на странице как я могу добавить дополнительный параметр для редактирования ссылки? Выбор страниц для отображения пользовательского типа сообщений при использовании флажка запрос wp foreach удаление записи, возвращающей только первый или последний элемент Как удалить черновики страниц без влияния на опубликованную страницу Android-приложение – не может войти в систему: «Этот сайт уже существует в приложении, вы не можете его добавить» Подсчитайте все изображения определенного типа сообщения Как ответить на уведомления Buddypress? Исключить некоторые скрипты из удаления уникальных скриптов из функции head previous_posts_link и next_posts_link, как вернуть заголовок следующего / предыдущего сообщения в качестве URL-адреса Как остановить форму поиска WordPress от поиска только на текущей странице? Шаблон регистрации страницы из плагина Как получить WP сайт для показа в корне и подкаталоге

Как обновить 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 ) ) ; } } 

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