Я добавил несколько пользовательских полей для оформления заказа, которые появляются, только когда пользователь впервые заходит в качестве гостя. Мой процесс оформления заказа требует, чтобы пользователь создал учетную запись для завершения оформления заказа.
Я добавил четыре поля, используя метод woocommerce_form_field
, а затем попытался изменить код , указанный в ответе здесь добиться того, чего я хочу. Однако я пробовал несколько проверок, создавая новые учетные записи, чтобы проверить, сохраняются ли значения настраиваемых полей в профиле новых пользователей, но, похоже, они не работают.
Вот один пример решения, которое я пробовал, который не работал:
function reigel_woocommerce_checkout_update_user_meta( $customer_id) {
if ( ! empty( $_POST['practitioner_license_number'] ) ) {
$pln = sanitize_text_field( $_POST['practitioner-license-number'] );
update_user_meta($customer_id, 'practitioner_license_number', $pln);
}
}
add_action('woocommerce_created_customer', 'reigel_woocommerce_checkout_update_user_meta', 10, 2);
practitioner-license-number
- это мое настраиваемое поле, добавленное с использованием метода woocommerce_form_field
. Я изменил код по ссылке выше, чтобы функция работала на woocommerce_created_customer
, а затем на update_user_meta
Я пытаюсь передать идентификатор клиента, чтобы мета сохранялась в созданном профиле пользователя.
Буду признателен за помощь в решении этой проблемы. Большинство вопросов / ответов на эту тему предполагают, что пользователь вошел в систему и уже имеет учетную запись, что здесь не так.