我有以下代码:
$args=array(
\'public\' => true,
\'_builtin\' => false
);
?>
<select id="<?php echo $this->get_field_id(\'posttype\'); ?>" name="<?php echo $this->get_field_name(\'posttype\'); ?>">
<?php foreach(get_post_types($args,\'names\') as $post_type) { ?>
<option <?php selected( $instance[\'posttype\'], $post_type ); ?> value="<?php echo $post_type; ?>"><?php echo $post_type; ?></option>
<?php } ?>
</select>
我制作自定义帖子
function my_post_type_interior_articles() {
register_post_type( \'interior_articles\',
array(
\'label\' => __(\'Interior Design Articles\'),
\'public\' => true,
\'show_ui\' => true,
\'show_in_nav_menus\' => false,
\'menu_position\' => 5,
\'supports\' => array(
\'title\',
\'custom-fields\',
\'editor\',
\'excerpt\',
\'thumbnail\')
)
);
}
add_action(\'init\', \'my_post_type_interior_articles\');
在下拉显示中
"interior_articles", 但我需要展示
"Interior Design Articles"如何在选项中显示cutom post标签?
最合适的回答,由SO网友:Daniel Sachs 整理而成
你只需要通过get_post_type_object();
<?php
$args=array(
\'public\' => true,
\'_builtin\' => false
);
$output = \'names\';
$operator = \'and\';
$post_types=get_post_types($args,$output,$operator);
?>
<select id="" name="">
<?php foreach ($post_types as $post_type ) {
$label_obj = get_post_type_object($post_type);
$labels = $label_obj->labels->name;
?>
<option <?php selected( $instance[\'posttype\'], $post_type ); ?> value="<?php echo $post_type; ?>"><?php echo $labels; ?></option>
<?php } ?>
</select>
请在此处阅读更多信息:
http://codex.wordpress.org/Function_Reference/get_post_type_object