WordPress通过标签获取相关的文章(WP_Query)

WordPress通过标签获取相关的文章(WP_Query)
在WordPress主题开发过程中,通常需要根据指定的标签(tag)获取文章列表。 query_posts函数似乎无法实现,。 我们可以使用WP_Query来实现此功能。

标签相关参数

获取关于标签的文章,可以使用 7 个参数:

tag(字符串):标签别名
tag_id(整数):标签 ID
tag__end(数组):一些标签 ID
tag__in(数组):一些标签 ID
tag_slug__and(数组):一些标签别名
tag_slug__in(数组):一些标签别名

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//获取一个标签的文章
//根据标签别名获取有这个标签的文章:
$query = new WP_Query( 'tag=cooking' );
//根据标签 ID 获取有这个标签的文章:
$query = new WP_Query( 'tag_id=13' );
//获取多个标签的文章
//根据标签的别名获取带有这几个标签其中一个的文章:
$query = new WP_Query( 'tag=bread,baking' );
//根据标签别名获取同时拥有几个标签的文章:
$query = new WP_Query( 'tag=bread+baking+recipe' );
//多标签查询
//根据标签 ID 获取同时有几个标签的文章:
$query = new WP_Query( array( 'tag__and' => array( 37, 47 ) ) );
//根据标签 ID 获取有这个标签的文章:
$query = new WP_Query( array( 'tag__in' => array( 37, 47 ) ) );
//根据标签 ID 排除包含某些标签的文章:
$query = new WP_Query( array( 'tag__not_in' => array( 37, 47 ) ) );
//tag_slug__in 和 tag_slug__and 的使用方法同上,只是把 ID 换成别名。