Как добавить дополнительное поле в профиль пользователя в WordPress?
Добрый день!
У меня возникла проблема при попытке добавить дополнительное поле в профиль пользователя в WordPress. Я хочу добавить поле с номером телефона, чтобы пользователи могли заполнить его при регистрации или в своем профиле.
Я уже пробовала использовать функцию add_user_meta(), однако она не работает должным образом. Возможно, я делаю что-то не так или использую неправильные параметры.
Ниже приведен мой код:
function add_phone_field_to_profile() {
$user_id = get_current_user_id();
$phone = get_user_meta( $user_id, 'phone', true );
?>
<input type="text" name="user_phone" id="user_phone" value="" class="regular-text">
<?php
}
add_action( 'show_user_profile', 'add_phone_field_to_profile' );
add_action( 'edit_user_profile', 'add_phone_field_to_profile' );
Можете ли вы помочь мне разобраться в проблеме и показать, что я делаю неправильно? Буду очень благодарна за помощь!
Заранее спасибо!
Ответы:
Похоже, у вас есть несколько ошибок в коде, которые приводят к неработающей функциональности добавления дополнительного поля в профиль пользователя в WordPress.
Во-первых, у вас отсутствует вызов самой функции add_user_meta(), которая отвечает за сохранение значений дополнительного поля в базу данных. Вам нужно добавить этот вызов после того, как пользователь заполнил поле с номером телефона. Вот пример исправленного кода:
function add_phone_field_to_profile() {
$user_id = get_current_user_id();
$phone = get_user_meta( $user_id, 'phone', true );
?>
<input type="text" name="user_phone" id="user_phone" value="" class="regular-text">
<?php
// Сохраняем значение поля в базу данных
if ( isset( $_POST['user_phone'] ) ) {
update_user_meta( $user_id, 'phone', sanitize_text_field( $_POST['user_phone'] ) );
}
}
add_action( 'show_user_profile', 'add_phone_field_to_profile' );
add_action( 'edit_user_profile', 'add_phone_field_to_profile' );
Во-вторых, в вашем коде присутствует опечатка в строке с открывающим тегом "". Она должна быть исправлена на .
Также, важно добавить проверку наличия значения поля $_POST['user_phone'] перед его сохранением, чтобы избежать ошибок, если пользователь не заполнил поле.
Надеюсь, это поможет вам решить проблему с добавлением дополнительного поля в профиль пользователя в WordPress. Если у вас остались вопросы, не стесняйтесь задавать их!
Удачи!