pavlukd
@pavlukd
Фрилансер. Руководитель отдела IT

Как выводить (запомнить) выбранный option для тега select?

Добрый день!

Нужна ваша помощь:) Делаю собственную тему для wordpress, нужно чтобы в профиле пользователя можно было задавать кастомные поля. С тегом input разобрался, но решил немного доработать что бы можно было выбрать значение из выпадающего списка, в целом все работает, но после перезапуска страницы отображается первое значение, а не то что выбрал. При этом на страницы где я это значение вывожу отображается переданное значение (так и должно быть).

Вот кусок кода:

/* добавление поля в профиле история заказов*/
add_action( 'show_user_profile', 'add_extra_social_links4' );
add_action( 'edit_user_profile', 'add_extra_social_links4' );
 
function add_extra_social_links4( $user )
{
?>
Склад назначения:<br/>
<select placeholder="Склад назначения" name="sklad-zakaz1" value="<?php echo esc_attr(get_the_author_meta( 'sklad-zakaz1', $user->ID )); ?>" class="regular-text" /><br/>
<option value="1">1</option>
<option value="2">1</option>
<option value="3">3</option>
</select>

// сохранение
add_action( 'personal_options_update', 'save_extra_social_links4' );
add_action( 'edit_user_profile_update', 'save_extra_social_links4' );
 
function save_extra_social_links4( $user_id )
{
update_user_meta( $user_id,'sklad-zakaz2', sanitize_text_field( $_POST['sklad-zakaz1'] ) );
}


Вывожу значение на другой странице так:

<?php echo get_user_meta($user_ID, 'sklad-zakaz1', true ) ?>


Мне кажется ошибка в атрибуте value в теге select, но я что-то не смог разобраться.

Спасибо!
  • Вопрос задан
  • 65 просмотров
Решения вопроса 1
nuykon
@nuykon
Full Stack Developer
у тега select нет атрибута value
<option 
  value="1"
  <?php if (get_user_meta($user_ID, 'sklad-zakaz1', true ) == "1") ?>selected<?php endif ?>
>...</option>
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы