掌握 WP_Query:10个有用的例子

WordPress 是一个非常强大的内容管理系统,它提供了许多内置的函数和类来帮助我们更容易地获取和处理数据,WP_Query 是一个非常常用的类,它可以帮助我们从数据库中获取文章、页面、自定义文章类型等数据,在本文中,我们将通过10个有用的例子来掌握 WP_Query 的基本用法。

1、获取最新发布的文章

掌握 WP_Query:10个有用的例子

要获取最新发布的文章,我们可以使用 posts_per_page 参数来限制返回的文章数量,并使用 orderby 参数来按照发布日期进行排序,以下是一个示例代码:

$query = new WP_Query(array(
    'posts_per_page' => 5,
    'orderby' => 'date',
    'order' => 'DESC'
));

2、获取特定分类下的文章

要获取特定分类下的文章,我们可以使用 category_name 参数来指定分类名称,以下是一个示例代码:

$query = new WP_Query(array(
    'category_name' => '技术',
    'posts_per_page' => 10
));

3、获取带有特定标签的文章

要获取带有特定标签的文章,我们可以使用 tag_idtag__and 参数来指定标签 ID 或多个标签,以下是一个示例代码:

$query = new WP_Query(array(
    'tag_id' => 1, // 或者 'tag__and' => array(1, 2, 3)
    'posts_per_page' => 5
));

4、获取自定义文章类型的文章

掌握 WP_Query:10个有用的例子

要获取自定义文章类型的文章,我们可以使用 post_type 参数来指定文章类型,以下是一个示例代码:

$query = new WP_Query(array(
    'post_type' => 'product',
    'posts_per_page' => 10
));

5、获取包含特定关键词的文章

要获取包含特定关键词的文章,我们可以使用 s 参数来指定关键词,以下是一个示例代码:

$query = new WP_Query(array(
    's' => 'WordPress',
    'posts_per_page' => 10
));

6、获取分页文章列表

要获取分页文章列表,我们可以使用 paged 参数来指定当前页码,以下是一个示例代码:

$query = new WP_Query(array(
    'paged' => get_query_var('paged') + 1, // 因为 paged 是从1开始的,所以需要加1
    'posts_per_page' => 5,
    'orderby' => 'date',
    'order' => 'DESC'
));

7、获取特色图片(Featured Image)的文章列表

掌握 WP_Query:10个有用的例子

要获取特色图片的文章列表,我们可以使用 meta_keymeta_value 参数来指定特色图片的元数据键和值,以下是一个示例代码:

$query = new WP_Query(array(
    'meta_key' => '_thumbnail_id',
    'meta_value' => 'true', // 如果特色图片存在,则 meta_value 为 true;否则为 false 或空字符串 ''
    'posts_per_page' => 10,
    'orderby' => 'date',
    'order' => 'DESC'
));

8、根据作者筛选文章列表

要根据作者筛选文章列表,我们可以使用 author 参数来指定作者 ID,以下是一个示例代码:

$query = new WP_Query(array(
    'author' => 1, // 或者 'author__in' => array(1, 2, 3),表示多个作者 ID
    'posts_per_page' => 10,
    'orderby' => 'date',
    'order' => 'DESC'
));

9、根据评论数筛选文章列表

要根据评论数筛选文章列表,我们可以使用 comments_number 参数来指定评论数,以下是一个示例代码:

$query = new WP_Query(array(
    'comments_number' => -1, // -1表示所有评论数的文章;0表示没有评论的文章;正整数表示评论数大于等于该值的文章;负整数表示评论数小于该值的文章;可以使用 range 参数来指定一个范围,range=> '-3,3',表示评论数在-3到3之间的文章,注意:range 参数仅适用于查询结果集,不适用于查询条件,如果需要根据评论数筛选文章列表,建议使用 comments_number 参数。

原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/249220.html

(0)
K-seoK-seoSEO优化员
上一篇 2024年1月23日 08:32
下一篇 2024年1月23日 08:35

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

免备案 高防CDN 无视CC/DDOS攻击 限时秒杀,10元即可体验  (专业解决各类攻击)>>点击进入