Как добавить поле возраста в woocommerce Редактировать аккаунт - PullRequest
0 голосов
/ 15 октября 2018

Я работаю на веб-сайте магазина woocommerce и мне нужно отобразить поле возраста на странице профиля пользователя.Я нашел это со ссылкой на пол и спросил, есть ли что-то подобное для возраста

Как добавить поле пола в woocommerse Редактировать аккаунт

1 Ответ

0 голосов
/ 15 октября 2018

Обновление 2

Сначала посмотрите эту официальную документацию , чтобы понять, как вы можете переопределить шаблоны Woocommerce через активную дочернюю тему (илиактивировать их) .

Чтобы добавить поле Age в раздел «Моя учетная запись»> «Изменить учетную запись», откройте / отредактируйте myaccount/form-edit-account.php файл шаблона.

Заменить изстроки 36–40 следующего блока кода (включая поле «возраст») :

<p class="woocommerce-form-row woocommerce-form-row--wide form-row form-row-wide">
    <label for="account_display_name"><?php esc_html_e( 'Display name', 'woocommerce' ); ?>&nbsp;<span class="required">*</span></label>
    <input type="text" class="woocommerce-Input woocommerce-Input--text input-text" name="account_display_name" id="account_display_name" value="<?php echo esc_attr( $user->display_name ); ?>" /> <span><em><?php esc_html_e( 'This will be how your name will be displayed in the account section and in reviews', 'woocommerce' ); ?></em></span>
</p>
<div class="clear"></div>

По этому блоку кода:

<p class="woocommerce-form-row woocommerce-form-row--first form-row form-row-first">
    <label for="account_age"><?php esc_html_e( 'Age', 'woocommerce' ); ?>&nbsp;<span class="required">*</span></label>
    <input type="text" class="woocommerce-Input woocommerce-Input--text input-text" name="account_age" id="account_age" value="<?php echo isset($user->age) ? esc_attr( $user->age ) : ''; ?>" />
</p>
<p class="woocommerce-form-row woocommerce-form-row--last form-row form-row-last">
    <label for="account_display_name"><?php esc_html_e( 'Display name', 'woocommerce' ); ?>&nbsp;<span class="required">*</span></label>
    <input type="text" class="woocommerce-Input woocommerce-Input--text input-text" name="account_display_name" id="account_display_name" value="<?php echo esc_attr( $user->display_name ); ?>" /> <span><em><?php esc_html_e( 'This will be how your name will be displayed in the account section and in reviews', 'woocommerce' ); ?></em></span>
</p>
<div class="clear"></div>

Чтобы сохранить значение поля возраста в базе данных:

add_action('woocommerce_save_account_details', 'save_account_details_age', 20, 1 );
function save_account_details_age( $user_id ) {
    if ( isset($_POST['account_age']) ) {
        update_user_meta($user_id, 'age', sanitize_text_field($_POST['account_age'] ) );
    }
}

Код помещается в файл function.php вашей активной дочерней темы (или активной темы).Проверено и работает.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...