您使用查询是完全错误的,如前所述,query_posts
不应使用。您用于检索类别ID的方法也是对资源的浪费。如果你知道身份证会省很多钱。
我还想看看get_categories
检索我的类别详细信息并将其传递给我的自定义查询。
METHOD 1
如果这些类别是您博客中的所有类别,则无需知道特定类别的类别名称或ID即可继续。你可以用
get_categories
(查看所有可用的参数及其使用方法)。在您的
foreach
循环,然后你可以通过
cat_ID
到
cat
中的参数
WP_Query
$categories = get_categories();
foreach ($categories as $category) {
$query = new WP_Query( \'posts_per_page=1&cat=\' . $category->cat_ID );
if($query->have_posts()){
while($query->have_posts()) {
$query->the_post();
//WHATEVER YOU NEED TO DISPLAY
}
}
wp_reset_postdata();
}
METHOD 2
如果您只需要获取这几个类别,并且没有ID,那么可以在数组中添加名称并使用
get_cat_ID
获取ID,然后以与
METHOD 1$cat_names=array(\'Breaking News Stories\', \'Call-out\', \'Featured Story\', \'Standard Stories\');
foreach ( $cat_names as $cat_name ) {
$cat_id = get_cat_ID( $cat_name );
$query = new WP_Query( \'posts_per_page=-1&cat=\' . $cat_id );
// REST IS SAME AS IN METHOD 1
} // end of foreach loop