在自定义帖子类型存档页面上仅显示一个类别的帖子 时间:2013-08-17 作者:Acidon 我有一个自定义的帖子类型,叫做练习。我在自定义帖子类型中也有许多类别。我使用归档练习。php自定义循环以显示我的主练习页面。问题:如何修改存档练习。php,所以它将只显示特定类别的帖子?我在我的主页上通过经常发布的帖子获得了类似的效果:<?php query_posts(\'cat=93&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; 结束 文章导航