在主页上,我需要显示几个不同类别的帖子,下面是我遇到的一些问题
任何帖子都可以属于任意数量的类别我正计划这样做
$cat_args = array(
\'orderby\' => \'name\',
\'order\' => \'ASC\',
\'exclude\' => \'17,1\',
\'number\' => \'6\'
);
$fcategories = get_categories($cat_args);
foreach($fcategories as $fcategory) {
$post_args = array(
posts_per_page\' => 1,
\'cat\' => $fcategory->cat_ID
);
$fposts = query_posts($post_args);
while(have_posts()) : the_post();
get_template_part(\'post\', \'homepage\');
endwhile;
但我在这方面面临的问题很少
post-homepage.php
, 我有以下代码来获取类别
$category_detail=get_the_category($post->ID);
这可以选择分配给该职位的任何类别,此外,由于同一职位可以与多个类别相关联,因此很可能相同的职位可以出现在不同的类别下。
如何显示每个类别的唯一posst,以便没有两个类别具有相同的帖子。到目前为止,我无法将任何其他参数传递给get_template_part()
SO网友:s_ha_dum
跟踪您的帖子ID
s
$cat_args = array(
\'orderby\' => \'name\',
\'order\' => \'ASC\',
\'exclude\' => \'17,1\',
\'number\' => \'6\'
);
$fcategories = get_categories($cat_args);
$used_ids = array();
foreach($fcategories as $fcategory) {
$post_args = array(
\'posts_per_page\' => 1,
\'cat\' => $fcategory->cat_ID
);
if (!empty($used_ids)) {
$post_args[\'post__not_in\'] = $used_ids;
}
$fposts = new WP_Query($post_args);
if ($fposts->have_posts()) {
while($fposts->have_posts()) {
$fposts->the_post();
$used_ids[] = $post->ID;
get_template_part(\'post\', \'homepage\');
}
}
}
几点注意事项:
代码中有几个语法错误,请不要使用query_posts
.
应该注意的是,使用此replace the main query 在页面上可以increase page loading times, 在最坏的情况下more than
doubling the amount of work needed or more. 虽然易于使用,但该功能prone to confusion and problems 过后有关详细信息,请参阅下面关于注意事项的注释。
http://codex.wordpress.org/Function_Reference/query_posts (重点矿山)