我正在制作一个wordpress主题,你应该能够说明你想在特定页面上显示哪些类别。要做到这一点,我认为添加元框将是最好的选择。只是现在我似乎无法从元框中获取信息。它可能非常简单,但我希望你能给我这个答案,因为我已经挣了好几个小时。 :P
这是我尝试获取它的地方:
<h3><?php echo get_post_meta(get_the_id(), "meta-box-dropdown", true); ?></h3>
这是保存功能:
function save_custom_meta_box($post_id, $post, $update)
{
if (!isset($_POST["meta-box-nonce"]) || !wp_verify_nonce($_POST["meta-box-nonce"], basename(__FILE__)))
return $post_id;
if(!current_user_can("edit_post", $post_id))
return $post_id;
if(defined("DOING_AUTOSAVE") && DOING_AUTOSAVE)
return $post_id;
$slug = "post";
if($slug != $post->post_type)
return $post_id;
$meta_box_dropdown_value = "";
if(isset($_POST["meta-box-dropdown"]))
{
$meta_box_dropdown_value = $_POST["meta-box-dropdown"];
}
update_post_meta($post_id, "meta-box-dropdown", $meta_box_dropdown_value);
}
这是元数据代码本身:
//Register custom meta boxes
function register_custom_meta_boxes() {
//Pages dropdown function
function dropdown_pages_meta() {
wp_nonce_field(basename(__FILE__), "meta-box-nonce");
?>
<div>
<label for="meta-box-dropdown">Dropdown</label>
<select name="meta-box-dropdown">
<?php
$option_values = get_categories( array(
'order' => 'ASC',
'fields' => 'names'
));
foreach($option_values as $key => $value)
{
if($value == get_post_meta($object->ID, "meta-box-dropdown", true))
{
?>
<option selected><?php echo $value; ?></option>
<?php
}
else
{
?>
<option><?php echo $value; ?></option>
<?php
}
}
?>
</select>
</div>
<?php
}