看来options-reading.php
file is hard-coding its options, 而不是使用设置API。
该选项正在使用wp_dropdown_pages()
明确地法典列出了以下参数wp_dropdown_pages()
:
<?php
$args = array(
\'depth\' => 0,
\'child_of\' => 0,
\'selected\' => 0,
\'echo\' => 1,
\'name\' => \'page_id\');
?>
Codex页面还指出,该函数理论上可以接受任何可以传递给的参数
get_pages()
, 其中包括
post_type
参数:
<?php
$args = array(
\'child_of\' => 0,
\'sort_order\' => \'ASC\',
\'sort_column\' => \'post_title\',
\'hierarchical\' => 1,
\'exclude\' => ,
\'include\' => ,
\'meta_key\' => ,
\'meta_value\' => ,
\'authors\' => ,
\'exclude_tree\' => ,
\'post_type\' => \'page\',
?>
。。。这意味着理论上
wp_dropdown_menu()
可以修改以返回自定义帖子类型的帖子。
请注意wp_dropdown_pages()
是否有an output filter hook, wp_dropdown_pages
:
$output = apply_filters(\'wp_dropdown_pages\', $output);
。。。所以也许你可以用过滤器来定位
page_on_front
具体选择表单字段:
wp_dropdown_pages( array( \'name\' => \'page_on_front\', \'echo\' => 0, \'show_option_none\' => __( \'— Select —\' ), \'option_none_value\' => \'0\', \'selected\' => get_option( \'page_on_front\' ) ) ) );
EDIT
根据此评论:
我想做的是为我的CPT设置一个页面作为posts页面,就像您可以为posts做的一样
我仍然不确定核心设置是否真的可以以这种方式扩展,但您确实有其他选择。
最明显的是创建custom Page template 那是一个"page for Posts", in which you query your specific Custom Post Type.
主要是从抄本链接复制意大利面;您需要修改标记以适应您的主题:
<?php
/**
* Template Name: Case Studies
*/
?>
<?php get_header(); ?>
<div id="content">
<?php
$type = \'case-studies\'; // Use the correct CPT slug here
$args=array(
\'post_type\' => $type,
\'post_status\' => \'publish\',
\'paged\' => $paged,
\'caller_get_posts\'=> 1 // do not show sticky posts
);
// This bit is a "hack" to allow pagination to work properly
$temp = $wp_query;
$wp_query = null;
$wp_query = new WP_Query($args);
?>
<?php
get_template_part( \'loop\', \'index\' );
// Restore the original $wp_query
$wp_query = $temp
?>
</div><!-- #content -->
<?php get_sidebar(); ?>
<?php get_footer(); ?>
然后,当然,只需创建一个页面,并将其指定为“案例研究”模板。