Как добавить поле в профиль пользователя (wordpress + woocommerce)?

В редактирование "личного кабинета пользователя"
Можно изменить Имя, почту и пароль, хотелось бы добавить свои поля, типо возраст, номер телефона. город, и так далее
  • Вопрос задан
  • 5490 просмотров
Решения вопроса 1
surgeon88
@surgeon88 Автор вопроса
Вот как я решил свою же проблему.

В фаил form-edit-account.php я добавил этот код:
<p class="form-row form-row-wide">
        <label for="phone">Телефон</label>
        <input type="text" class="input-text" name="phone" id="phone" value="<?php echo esc_attr( $user->phone ); ?>" />
    </p>


Далее я добавил в class-wc-form-handler.php, следующий код:
$tag             = 'woocommerce_save_account_details'; 
$function_to_add = 'my_save_account';
$priority        = 10;
$accepted_args   = 1; 
add_action( $tag, $function_to_add, $priority, $accepted_args ); 
function my_save_account($user_id) {
  $phone  = ! empty( $_POST[ 'phone' ] ) ? $_POST[ 'phone' ] : '';
  update_user_meta($user_id, 'phone', $phone);
}


Оказалось все очень просто, после этого все сохраняется!
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
MetaDone
@MetaDone
Хорошо сформулированный вопрос - 50% решения
используйте add_action('woocommerce_after_my_account','your_function')
В функции your_function - прописываете форму редактирования нужных вам полей. После дописываете обработчик на сохранение этих полей
А вообще в woocommerce есть редактирование телефона, города и т.п. в разделе "billing info"
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы