<select> тег не загружает выбранный элемент при загрузке формы - PullRequest
1 голос
/ 14 декабря 2011

Я использую тему Wordpress и добавляю новую опцию настроек, используя API настроек Wordpress.

То, что я хочу сделать, это иметь раскрывающийся список, который заполняет базу данных WordPress страниц на моем сайте, а затем дать пользователю выбрать страницу, которую он хочет для конкретной опции.

Что происходит с моим текущим кодом, так это то, что он заполняет и выбирает страницу - даже сохраняет ее в моей базе данных, но когда я снова открываю страницу параметров, однако, он отменяет выбор, отображаемый по умолчанию - он ничего не меняет в базе данных, он просто не отображает параметр, который находится в базе данных при загрузке. Есть идеи?

вот функция, которую я использую для отображения выпадающего списка:

 function  setting_dropdown_fn() {
$options = get_option('wellness_options');
echo "<select name='wellness_options[page_string]'>" ;
   $pages = get_pages(); 
  foreach ( $pages as $pagg ) {
$option = '<option value="' . get_page_link( $pagg->ID ) . '">';
$option .= $pagg->post_title;
$option .= '</option>';
echo $option;
  } 
echo '</select>';}

1 Ответ

1 голос
/ 15 декабря 2011

Вам нужно установить опцию «выбранный», когда вы выводите выпадающий список.Вывод HTML (после сохранения страницы 3 в базе данных) будет выглядеть следующим образом:

<select id="whatever" name="whatever">
  <option value="1">First Page</option>
  <option value="2">Second Page</option>
  <option value="3" selected="selected">Third Page</option>
  <option value="4">Fourth Page</option>
</select>

WordPress имеет вспомогательную функцию 1 , которая делает это проще, внутри цикла for / foreachВы можете использовать:

<?php selected($value_in_database, $value_of_this_option); ?>

Этот код выводит selected="selected" для вас, если это необходимо.

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