表单加载</select>时,<select>标签不加载所选项目

时间:2011-12-14 06:23:33

标签: php javascript html wordpress themes

我正在使用Wordpress主题,我正在使用Wordpress设置API添加新的设置选项。

我想要做的是有一个下拉列表,该列表从我网站上的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 个答案:

答案 0 :(得分:1)

输出下拉列表时,需要将其设置为“已选择”选项。 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"