我的第一个自定义插件中有以下代码,该插件为自定义帖子类型创建元框,并且所有内容都正确保存,之后所有内容都正确加载到编辑页面上,但“选择”下拉列表元素除外。
一旦页面重新加载,这些选择元框中的选项将恢复为第一个选项,尽管我知道它在被选择后保存数据作为自定义帖子类型视图上的自定义列显示正确的信息。但是,单击编辑其中一个自定义帖子类型后,所有文本输入数据都会正确加载,但选择数据不会正确加载,这会恢复为第一个选项。
这是我的代码(我只包含了一个选择元框):
add_action('save_post', 'save_details');
function admin_init(){
add_meta_box(
"club_manufacturer-meta",
"Manufacturer",
"club_manufacturer",
"club_types",
"normal",
"low"
);
}
function club_manufacturer(){
global $post;
$custom = get_post_custom($post->ID);
$club_manufacturer = $custom["club_manufacturer"][0];
?>
<label>Manufacturer:</label>
<select name="club_manufacturer" >
<option value="Adams" name="club_manufacturer" class="<?php echo $club_manufacturer; ?>">Adams</option>
<option value="Ben Hogan" name="club_manufacturer" class="<?php echo $club_manufacturer; ?>">Ben Hogan</option>
<option value="Callaway" name="club_manufacturer" class="<?php echo $club_manufacturer; ?>">Callaway</option>
<option value="cleveland" name="club_manufacturer" class="<?php echo $club_manufacturer; ?>">Cleveland</option>
<option value="Cobra" name="club_manufacturer" class="<?php echo $club_manufacturer; ?>">Cobra</option>
<option value="Mizuno" name="club_manufacturer" class="<?php echo $club_manufacturer; ?>">Mizuno</option>
<option value="Nike" name="club_manufacturer" class="<?php echo $club_manufacturer; ?>">Nike</option>
<option value="Odyssey" name="club_manufacturer" class="<?php echo $club_manufacturer; ?>">Odyssey</option>
<option value="Ping" name="club_manufacturer" class="<?php echo $club_manufacturer; ?>">Ping</option>
<option value="Scotty Cameron" name="club_manufacturer" class="<?php echo $club_manufacturer; ?>">Scotty Cameron</option>
<option value="Titleist" name="club_manufacturer" class="<?php echo $club_manufacturer; ?>">Titleist</option>
<option value="Tour Edge" name="club_manufacturer" class="<?php echo $club_manufacturer; ?>">Tour Edge</option>
</select>
<?php
}
function save_details(){
update_post_meta($post->ID, "club_manufacturer", $_POST["club_manufacturer"]);
}