我们在调用部分分类文章时,有时可能需要获取前两个分类的文章,以及第三个第四个分类的文章,但又不想输入指定的ID时,如何实现呢?
可以考虑采用分类ID排序,然后指定第几个开始的方式:
$args = array(
'orderby' => 'ID',
'order' => 'ASC',
'number' => 2, // 获取两个分类
'offset' => 0,
'hide_empty' => false,
'exclude' => array(), // 可选参数,指定要排除的分类ID
);
$categories = get_categories($args);
foreach ($categories as $category) {
$query_args = array(
'cat' => $category->cat_ID,
'orderby' => 'date',
'order' => 'DESC',
'posts_per_page' => 6, // 获取每个分类的前六篇文章
);
$query = new WP_Query($query_args);
// 输出分类名
echo '<h2>' . $category->name . '</h2>';
// 输出文章列表
if ($query->have_posts()) {
echo '<ul>';
while ($query->have_posts()) {
$query->the_post();
echo '<li><a href="' . get_permalink() . '">' . get_the_title() . '</a></li>';
}
echo '</ul>';
}
// 重置查询
wp_reset_postdata();
}
这样我们就实现了,分类中前两个分类的调用;
这段代码使用get_categories函数来获取两个分类,然后使用WP_Query类来查询每个分类的前六篇文章。在循环中,我们使用the_post函数来输出每篇文章的标题和链接。最后,我们使用wp_reset_postdata函数来重置文章查询,以确保下一个查询不受影响。
如果需要从第三个分类开始,则可以这样实现:
$args = array(
'orderby' => 'ID',
'order' => 'ASC',
'number' => 4, // 获取前四个分类
'offset' => 2, // 从第三个分类开始
'hide_empty' => false,
'exclude' => array(), // 可选参数,指定要排除的分类ID
);
$categories = get_categories($args);
$i = 0;
foreach ($categories as $category) {
$i++;
if ($i > 2) { // 仅处理第三和第四个分类
$query_args = array(
'cat' => $category->cat_ID,
'orderby' => 'date',
'order' => 'DESC',
'posts_per_page' => 6,
);
$query = new WP_Query($query_args);
// 输出分类名
echo '<h2>' . $category->name . '</h2>';
// 输出文章列表
if ($query->have_posts()) {
echo '<ul>';
while ($query->have_posts()) {
$query->the_post();
echo '<li><a href="' . get_permalink() . '">' . get_the_title() . '</a></li>';
}
echo '</ul>';
}
// 重置查询
wp_reset_postdata();
}
}
这里实现了从第三个分类开始,这段代码将获取前四个分类,然后跳过前两个分类,仅处理第三和第四个分类。在循环中,我们使用相同的方法来查询每个分类的前六篇文章,并使用the_post函数输出文章的标题和链接。
如果需要输出分类链接,可以使用get_category_link函数来获取分类链接。这个函数接受一个分类ID作为参数,并返回一个指向该分类存档页面的链接。
' . get_category_link($category->cat_ID) . '
这样,以上的分类文章调用,我们就完成了。
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:wordpress调用分类文章 按照分类ID顺序读取前两个分类 以及第三个分类和第四个分类的办法
文章链接:https://www.qqhgg.com/177.html
该作品系作者结合个人学习经验及互联网相关知识整合。如若侵权请通过投诉通道提交信息,我们将按照规定及时处理。