如何仅在WordPress中显示特定分类的文章?

avatar
作者
筋斗云
阅读量:0
在WordPress中,要调用指定分类下的文章,可以使用WP_Query类或者get_posts()函数。以下是一个使用WP_Query类的示例:,,``php,$args = array(, 'category_name' => '指定分类名', // 将“指定分类名”替换为实际的分类别名或ID, 'posts_per_page' => -1, // 显示所有文章,);,$query = new WP_Query($args);,,if ($query->have_posts()) {, while ($query->have_posts()) {, $query->the_post();, echo '' . get_the_title() . '';, the_content();, },} else {, echo '没有找到文章';,},,wp_reset_postdata(); // 重置全局$post对象和查询变量,``,,将上述代码添加到主题的适当位置(模板文件或小工具),并将“指定分类名”替换为实际的分类别名或ID。这将显示指定分类下的所有文章。

WordPress调用指定分类下的文章可以通过多种方法实现,以下是详细的步骤和代码示例:

如何仅在WordPress中显示特定分类的文章?

一、通过query_posts 函数调用指定分类下的文章

1、基本用法

使用query_posts 函数可以方便地查询并显示指定分类下的文章,下面是一个简单的例子,展示如何调用分类ID为1的文章并显示5篇文章。

 <?php query_posts('cat=1&showposts=5'); ?> <ul>     <?php while (have_posts()) : the_post(); ?>         <li><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></li>     <?php endwhile; wp_reset_query(); ?> </ul>

在这个例子中,cat=1 表示要调用的分类ID为1,showposts=5 表示显示5篇文章。

2、从特定位置开始调用文章

如果希望从第二篇或第三篇文章开始调用,可以使用offset 参数,从第二篇文章开始调用:

 <?php query_posts('cat=1&showposts=5&offset=1'); ?>

这里的offset=1 表示从第二篇文章开始调用。

二、通过WP_Query 函数调用指定分类下的文章

如何仅在WordPress中显示特定分类的文章?

1、基本用法

WP_Query 是一个更灵活的方法,适用于需要复杂查询的情况,下面的例子展示了如何使用WP_Query 来调用分类ID为1的文章并显示5篇文章:

 <?php $args = array(     'cat' => 1, // 分类ID     'posts_per_page' => 5, // 显示篇数 ); $the_query = new WP_Query($args); if ($the_query->have_posts()) {     echo '<ul>';     while ($the_query->have_posts()) {         $the_query->the_post();         echo '<li><a href="' . get_permalink() . '" title="' . get_the_title() . '">' . get_the_title() . '</a></li>';     }     echo '</ul>'; } else {     echo 'No posts found'; } wp_reset_postdata(); ?>

这种方法使用了WP_Query 类来创建一个新的查询对象,然后遍历查询结果并输出文章标题和链接。

2、从特定位置开始调用文章

如果希望从第二篇或第三篇文章开始调用,可以使用paged 参数,从第二篇文章开始调用:

 <?php $args = array(     'cat' => 1, // 分类ID     'posts_per_page' => 5, // 显示篇数     'paged' => 2, // 从第二页开始 ); $the_query = new WP_Query($args); // 其他代码与上面相同 ?>

这里的paged=2 表示从第二页(即第六篇文章)开始调用。

在首页列出所有分类及分类下的文章

1、获取所有分类及其文章

如果要在首页列出所有分类及其文章,可以使用以下代码:

如何仅在WordPress中显示特定分类的文章?

 <?php $cats = get_categories(); foreach ($cats as $cat) {     query_posts(array('cat' => $cat->cat_ID, 'showposts' => 10)); ?>     <h3><?php echo $cat->cat_name; ?></h3>     <ul class="sitemap-list">         <?php while (have_posts()) : the_post(); ?>             <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>         <?php endwhile; wp_reset_query(); ?>     </ul> <?php } ?>

这个例子首先获取所有分类,然后对每个分类进行循环,使用query_posts 函数查询并显示每个分类下的10篇文章。

相关问题与解答

1、问题一:如果我想调用多个分类下的文章怎么办?

回答:可以在query_postsWP_Query 函数中使用逗号分隔的分类ID列表,调用分类ID为1和2的文章:

 <?php query_posts('cat=1,2&showposts=5'); ?>

或者使用WP_Query

 <?php $args = array(     'cat' => array(1, 2), // 分类ID列表     'posts_per_page' => 5, // 显示篇数 ); $the_query = new WP_Query($args); // 其他代码与上面相同 ?>

2、问题二:为什么有时候query_posts 函数会导致页面冲突?

回答query_posts 会覆盖全局查询变量$wp_query,这可能导致页面上的主循环和其他插件或主题中的查询发生冲突,建议尽量使用WP_Query 代替query_posts,以避免潜在的冲突。

各位小伙伴们,我刚刚为大家分享了有关WordPress调用指定分类下的文章的知识,希望对你们有所帮助。如果您还有其他相关问题需要解决,欢迎随时提出哦!

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!