在我们开始之前,有几个简短的注意事项:
我认为这不是木材问题。(如果是的话,第三方插件/主题帖子是本论坛的热门话题。)小心使用诸如register_post_types()
. 你永远不知道WordPress什么时候可能会引入这样的功能,它的通用性足以让其他插件或主题也会想到使用它。因此,为了避免冲突,您应该始终使用缩写或客户端accronym作为函数的前缀,或者,如下面的答案所示,您的WPSE问题#!如果你的帖子类型也很常见(如个人、企业或项目),那么也给它的slug加一个前缀当你说“索引页”时,我想你指的是你的“帖子页”(又名“博客”),它将使用index.php
如果home.php
文件不存在。
但是,如果您只希望自定义帖子类型显示在帖子页面上,则可以使用pre_get_posts
! 这与您的register_post_type()
作用
function wpse162065_pre_get_posts( $query ) {
if( is_home() && is_main_query() ) {
$query->set( \'post_type\', array( \'post\', \'test\' ) );
}
}
add_action( \'pre_get_posts\', \'wpse162065_pre_get_posts\' );