在单独页面上显示自定义帖子

时间:2012-08-15 作者:josh green

我已经能够注册一个新的帖子类型。”“代码”,现在我想显示它。我补充道

add_filter( \'pre_get_posts\', \'my_get_posts\' );

function my_get_posts( $query ) {
if ( is_home() )
    $query->set( \'post_type\', array( \'post\', \'page\', \'album\', \'movie\', \'quote\', \'code\', \'attachment\' ) );
    return $query;
}
但这也让它在其他博客文章中得以体现。我想要一个只显示“代码”帖子的新页面。我创建了一个文件单代码。php,但我认为这是不对的。如何创建一个只显示代码帖子的新页面?

2 个回复
最合适的回答,由SO网友:Tom Auger 整理而成

最简单的方法是创建页面(可能称之为“所有代码”)。然后,通过在主题目录中创建一个名为page-all-codes.php (请注意“所有代码”部分是如何与您创建的页面的slug相对应的)。

然后您可以使用WP_Query 获取您的帖子列表。你的论点应该是这样的-可以随意添加更多来定制你的列表(比如你希望它们如何排序等等)

$args = array(
  \'post_type\' => \'code\',
  \'posts_per_page\' => -1
);
如何使用这些$args取决于您。最简单的方法是query_posts( $args );.

SO网友:westondeboer

您应该能够创建模板存档代码。php,这将循环通过您的“代码”仅自定义post类型。

如果您创建了一个代码。php模板页面,这将是如何显示您的自定义帖子类型的“代码”,如果它是一个单独的页面。

结束

相关推荐

Functions.php:从博客中排除类别

所以很明显,如何从模板中排除某些类别,但我不想修改4个模板,使它们忽略某个类别。有没有一种方法可以将某个类别从阅读设置的“博客”集中排除?我正在将博客分配到名为“博客”的页面。。。但显然,档案和搜索也需要对这一超出类别的内容视而不见。我宁愿在里面做functions.php