在自定义帖子类型存档页面上仅显示一个类别的帖子

时间:2013-08-17 作者:Acidon

我有一个自定义的帖子类型,叫做练习。我在自定义帖子类型中也有许多类别。我使用归档练习。php自定义循环以显示我的主练习页面。

问题:如何修改存档练习。php,所以它将只显示特定类别的帖子?

我在我的主页上通过经常发布的帖子获得了类似的效果:

<?php query_posts(\'cat=93&amp;showposts=\'.get_option(\'posts_per_page\')); ?>

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

使用pre_get_posts 在将任何主查询发送到数据库之前对其进行修改的操作,这也包括主页的情况。使命感query_posts 在模板中,运行一个新的查询,覆盖原始查询-这是一种资源浪费,可能会产生不可预测的结果,尤其是分页。

function wpa_pre_get_posts( $query ){
    if( is_post_type_archive( \'exercises\' ) && $query->is_main_query() ){
         $query->set( \'cat\', 42 );
    }
}
add_action( \'pre_get_posts\',\'wpa_pre_get_posts\' );

SO网友:tfrommen

只需设置一个仅限于自定义帖子类型和所需类别的新查询。。。

$args = array(
    \'post_type\' => \'exercises\',
    \'cat\' => 93,
    // some other parameters
);
$exercises = new WP_Query($args);
while ($exercises->have_posts()) : $exercises->the_post() 
    // your posts stuff
endwhile;

结束

相关推荐

在自定义帖子类型存档页面上仅显示一个类别的帖子 - 小码农CODE - 行之有效找到问题解决它

在自定义帖子类型存档页面上仅显示一个类别的帖子

时间:2013-08-17 作者:Acidon

我有一个自定义的帖子类型,叫做练习。我在自定义帖子类型中也有许多类别。我使用归档练习。php自定义循环以显示我的主练习页面。

问题:如何修改存档练习。php,所以它将只显示特定类别的帖子?

我在我的主页上通过经常发布的帖子获得了类似的效果:

<?php query_posts(\'cat=93&amp;showposts=\'.get_option(\'posts_per_page\')); ?>

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

使用pre_get_posts 在将任何主查询发送到数据库之前对其进行修改的操作,这也包括主页的情况。使命感query_posts 在模板中,运行一个新的查询,覆盖原始查询-这是一种资源浪费,可能会产生不可预测的结果,尤其是分页。

function wpa_pre_get_posts( $query ){
    if( is_post_type_archive( \'exercises\' ) && $query->is_main_query() ){
         $query->set( \'cat\', 42 );
    }
}
add_action( \'pre_get_posts\',\'wpa_pre_get_posts\' );

SO网友:tfrommen

只需设置一个仅限于自定义帖子类型和所需类别的新查询。。。

$args = array(
    \'post_type\' => \'exercises\',
    \'cat\' => 93,
    // some other parameters
);
$exercises = new WP_Query($args);
while ($exercises->have_posts()) : $exercises->the_post() 
    // your posts stuff
endwhile;

相关推荐