我必须在我的主题首页上显示12项我的自定义帖子类型。但是,当我这样做时,页面标题(<title>...</title>
) 更改为Custom Post Type archive - Page Title
.
因为这是首页,我只想让它有正常的首页标题,即Page title - page tag line
. 有没有办法在新的query_posts()
? 或者只是为了防止在使用新的query_posts()
?
我不介意在子页面上发生这种情况,但在首页,当我打开筛选结果时,它不应该改变post_type
.
这是我现在使用的查询:
query_posts( array(
\'post_type\' => \'bwps\',
\'posts_per_page\' => 12
));
最合适的回答,由SO网友:Jacob Peattie 整理而成
你不应该使用query_posts()
完全从…起the documentation:
注意:此函数将完全覆盖主查询,不供插件或主题使用。它修改主查询的过于简单的方法可能会有问题,应该尽可能避免。在大多数情况下,有更好、更高性能的选项来修改主查询,例如通过WP\\u查询中的“pre\\u get\\u posts”操作。
如果你想在首页上显示一些自定义帖子,那么你应该为首页创建一个模板(或者front-page.php 或acustom template. 然后,在该模板上,用您自己的WP_Query
:
$bwps = new WP_Query( array(
\'post_type\' => \'bwps\',
\'posts_per_page\' => 12
) );
并使用
$bwps
:
if ( $bwps->have_posts() ) :
while ( $bwps->have_posts() ) : $bwps->the_post();
the_title();
endwhile;
endif;
如果要将主页显示设置为最新帖子,并在主页上保持分页,只需将这些最新帖子替换为您自己的帖子类型,然后请参阅
this previous question 关于这个话题。