Я добавляю настраиваемое поле в свою регистрацию в woocommerce, которое фактически сохраняет имена пользователей IG клиента, используя следующий код, размещенный в файле function.php моей дочерней темы:
function wc_extra_register_fields() { ?>
<p class="form-row form-row-wide">
<label for="reg_instagram_username"><?php _e( 'Your Instagram Username', 'woocommerce' ); ?><span class="required">*</span></label>
<input type="text" class="input-text" name="instagram_username" id="reg_instagram_username" value="<?php esc_attr_e( $_POST['instagram_username'] ); ?>" />
</p>
<?php
}
add_action( 'woocommerce_register_form_start', 'wc_extra_register_fields' );
function wc_validate_extra_register_fields( $username, $email, $validation_errors ) {
if (isset($_POST['instagram_username']) && empty($_POST['instagram_username']) ) {
$validation_errors->add('instagram_username_error', __('Your Instagram username is required!', 'woocommerce'));
}
return $validation_errors;
}
add_action('woocommerce_register_post', 'wc_validate_extra_register_fields', 10, 3);
function wc_save_extra_register_fields($customer_id) {
if (isset($_POST['instagram_username'])) {
update_user_meta($customer_id, 'instagram_username', sanitize_text_field($_POST['instagram_username']));
}
}
add_action('woocommerce_created_customer', 'wc_save_extra_register_fields');
Имя пользователя добавляется вмоя база данных в качестве настраиваемого поля.Однако, на самом деле я хотел, чтобы это было сохранено в контактной информации пользователя в поле «Instagram».
Есть ли способ извлечь эту информацию из регистрации и сохранить ее непосредственно как пользователь?мета?
Любая помощь очень ценится.
Спасибо!