WordPress中用于获取文章作者与分类信息的方法整理
作者
查询和某些作者(用户)有关的文章,可以使用4个参数:
- author(整数):用户ID
- author_name(字符串):用户的昵称(“user_nicename”字段)
- author__in(数组):用户ID
- author__not_in(数组):用户ID
获取一个作者的文章
根据用户ID获取:
$query=newWP_Query('author=123');
根据用户的昵称(“user_nicename”字段)获取:
$query=newWP_Query('author_name=rami');
获取多个作者的文章
根据用户ID获取多个作者的文章:
$query=newWP_Query('author=2,6,17,38');
排除作者的文章
排除一个作者可以使用用户ID前边加上“-”的方式:
$query=newWP_Query('author=-12');
多作者查询
获取多个作者的文章:
$query=newWP_Query(array('author__in'=>array(2,6)));
排除多个作者的文章:
$query=newWP_Query(array('author__not_in'=>array(2,6)));
分类
关于分类有5个可用的参数:
- cat(整数):分类ID
- category_name(字符串):分类别名
- category__and(数组):分类ID
- category__in(数组):分类ID
- category__not_in(数组):分类ID
获取一个分类的文章
根据分类的ID获取一个分类的文章(包含此分类的子分类):
$query=newWP_Query('cat=4');
根据分类的别名获取一个分类的文章(包含此分类的子分类):
$query=newWP_Query('category_name=staff');
根据分类的ID获取一个分类的文章(不包含此分类的子分类):
$query=newWP_Query('category__in=4');
获取多个分类的文章
根据分类的ID获取多个分类的文章:
$query=newWP_Query('cat=2,6,17,38');
根据分类别名获取多个分类的文章:
$query=newWP_Query('category_name=staff,news');
根据分类别名获取同时拥有几个分类的文章:
$query=newWP_Query('category_name=staff+news');
排除分类
想要排除一些分类只需要在分类ID前加上“-”号:
$query=newWP_Query('cat=-12,-34,-56');
多分类查询
获取同时有多个分类的文章,下边的代码会获取必须同时拥有ID为2和6的分类的文章:
$query=newWP_Query(array('category__and'=>array(2,6)));
获取多个分类的文章,不包含其子分类,下边的代码获取了拥有ID为2或者ID为6的分类的文章:
$query=newWP_Query(array('category__in'=>array(2,6)));
排除一些分类的文章:
$query=newWP_Query(array('category__not_in'=>array(2,6)));