WordPress 是一个使用 PHP 语言开发的开源内容管理系统,它提供了丰富的功能和插件,使得创建和管理网站变得非常简单,在 WordPress 中,我们可以使用 WP_Query 类来查询和筛选文章,本文将详细介绍如何使用 WP_Query 参数来获取特定分类和标签的文章。
1、WP_Query 简介
WP_Query 是 WordPress 中的一个类,用于执行数据库查询并返回文章、页面、自定义文章类型等的结果,我们可以通过实例化 WP_Query 类并设置相应的参数来获取我们需要的数据。
2、分类参数
要获取特定分类的文章,我们可以使用 category
参数,如果我们想要获取 ID 为 1 的分类下的所有文章,可以这样设置:
$args = array( 'category' => 1, ); $query = new WP_Query($args);
category
参数接受一个整数或字符串数组,表示分类的 ID 或名称,如果传递的是字符串数组,那么将获取所有包含在这些分类中的文章。
3、标签参数
要获取特定标签的文章,我们可以使用 tag
参数,如果我们想要获取标签为 "教程" 的所有文章,可以这样设置:
$args = array( 'tag' => '教程', ); $query = new WP_Query($args);
tag
参数接受一个字符串或字符串数组,表示标签的名称,如果传递的是字符串数组,那么将获取所有包含在这些标签中的文章。
4、同时使用分类和标签参数
我们可以同时使用 category
和 tag
参数来获取特定分类和标签下的文章,如果我们想要获取 ID 为 1 的分类和标签为 "教程" 的所有文章,可以这样设置:
$args = array( 'category' => 1, 'tag' => '教程', ); $query = new WP_Query($args);
5、其他常用参数
除了 category
和 tag
参数外,WP_Query 还提供了许多其他参数,如 posts_per_page
(每页显示的文章数量)、orderby
(排序方式)等,我们可以根据需要组合使用这些参数来满足不同的查询需求。
6、输出查询结果
使用 WP_Query 查询到文章后,我们可以通过循环遍历查询结果并输出文章的标题、摘要等信息。
if ($query->have_posts()) { while ($query->have_posts()) { $query->the_post(); echo '<h2>'.get_the_title().'</h2>'; echo '<p>'.get_the_excerpt().'</p>'; } } else { echo '没有找到符合条件的文章'; } wp_reset_postdata(); // 重置查询结果,避免影响后续的查询操作
7、相关问题与解答
问题1:如何在查询结果中排除某个分类或标签?
答:我们可以使用 exclude
参数来排除特定的分类或标签,如果我们想要获取除 ID 为 1 的分类和标签为 "教程" 之外的所有文章,可以这样设置:
$args = array( 'category__not_in' => array(1), // 排除分类 ID 为 1 的文章 'tag__not_in' => array('教程'), // 排除标签为 "教程" 的文章 ); $query = new WP_Query($args);
问题2:如何获取当前分类下的文章?
答:我们可以使用 current_category
参数来获取当前分类下的文章。
global $post; // 获取当前文章对象 $current_category = get_the_category($post->ID); // 获取当前文章的分类信息 $args = array( 'category__in' => $current_category, // 根据当前分类进行筛选 ); $query = new WP_Query($args);
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/249288.html