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调用指定分类下的文章可以通过多种方法实现,以下是详细的步骤和代码示例:
一、通过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
函数调用指定分类下的文章
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、获取所有分类及其文章
如果要在首页列出所有分类及其文章,可以使用以下代码:
<?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_posts
或WP_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调用指定分类下的文章的知识,希望对你们有所帮助。如果您还有其他相关问题需要解决,欢迎随时提出哦!