0
我擁有以下代碼,它是從WordPress代碼中獲取關於如何保存簡單文本輸入字段的。它工作正常。但我想現在保存一個選擇下拉列表,並不能找出我在這裏失蹤。它似乎保存了我第一次從下拉菜單中選擇保存,但是當我嘗試編輯值以選擇另一個選項並保存時,它從不保存。如何在wordpress插件中保存選擇選項下拉列表
我的其他queston就是爲什麼沒有被打印到當我運行屏幕值
testing value saved: <?=esc_attr(get_option('location_one_option')); ?>
當前插件代碼如下:
// create custom plugin settings menu
function sidebar_posts_create_menu() {
//create new top-level menu
add_menu_page('Sidebar Posts', 'Sidebar Post Settings', 'administrator', __FILE__, 'sidebar_posts_settings_page');
//call register settings function
add_action('admin_init', 'register_sidebar_posts_settings');
}
add_action('admin_menu', 'sidebar_posts_create_menu');
//register our settings
function register_sidebar_posts_settings() {
//register our settings
register_setting('sidebar-posts-settings-group', 'location_one_option');
register_setting('sidebar-posts-settings-group', 'new_option_name');
}
//register settings page view
function sidebar_posts_settings_page() {
?>
<div class="wrap">
<h1>Sidebar Posts Settings</h1>
<p>Select up to six posts to show in six different locations on the sidebar. Have fun!</p>
<form method="post" action="options.php">
<?php settings_fields('sidebar-posts-settings-group'); ?>
<?php do_settings_sections('sidebar-posts-settings-group'); ?>
<table class="form-table">
<tr valign="top">
<th scope="row">New Option Name</th>
<td><input type="text" name="new_option_name" value="<?php echo esc_attr(get_option('new_option_name')); ?>" /></td>
</tr>
<!--the above simple text field saves the data perfectly-->
<?php
$your_query = new WP_Query('posts_per_page=-1'); ?>
<label>Location One Post</label><br />
<select name="location_one_option">
<option value="" selected="selected">Select a post</option>
<?php while ($your_query->have_posts()) : $your_query->the_post(); ?>
<option value="<?=esc_attr(get_option('location_one_option')); ?>" <?php selected(get_option('location_one_option'), get_option('location_one_option')); ?>>
<?=the_title(); ?>
</option>
<? endwhile; ?>
</select>
<? wp_reset_postdata(); ?><br /><br />
testing value saved: <?=esc_attr(get_option('location_one_option')); ?>
</table>
<?php submit_button(); ?>
</form>
</div>
<?php }