Home >Backend Development >PHP Tutorial >WordPress中用于获取文章作者与分类信息的方法整理_PHP

WordPress中用于获取文章作者与分类信息的方法整理_PHP

WBOY
WBOYOriginal
2016-05-28 13:13:12869browse

作者
查询和某些作者(用户)有关的文章,可以使用 4 个参数:

  1. author(整数):用户 ID
  2. author_name(字符串):用户的昵称(“user_nicename” 字段)
  3. author__in(数组):用户 ID
  4. author__not_in(数组):用户 ID

获取一个作者的文章

根据用户 ID 获取:

$query = new WP_Query( 'author=123' );

根据用户的昵称(“user_nicename” 字段)获取:

$query = new WP_Query( 'author_name=rami' );

获取多个作者的文章

根据用户 ID 获取多个作者的文章:

$query = new WP_Query( 'author=2,6,17,38' );

排除作者的文章

排除一个作者可以使用用户 ID 前边加上 “-” 的方式:

$query = new WP_Query( 'author=-12' );

多作者查询

获取多个作者的文章:

$query = new WP_Query( array( 'author__in' => array( 2, 6 ) ) );

排除多个作者的文章:

$query = new WP_Query( array( 'author__not_in' => array( 2, 6 ) ) );

分类

关于分类有 5 个可用的参数:

  1. cat(整数):分类 ID
  2. category_name(字符串):分类别名
  3. category__and(数组):分类 ID
  4. category__in(数组):分类 ID
  5. category__not_in(数组):分类 ID

获取一个分类的文章

根据分类的 ID 获取一个分类的文章(包含此分类的子分类):

$query = new WP_Query( 'cat=4' );

根据分类的别名获取一个分类的文章(包含此分类的子分类):

$query = new WP_Query( 'category_name=staff' );

根据分类的 ID 获取一个分类的文章(不包含此分类的子分类):

$query = new WP_Query( 'category__in=4' );

获取多个分类的文章

根据分类的 ID 获取多个分类的文章:

$query = new WP_Query( 'cat=2,6,17,38' );

根据分类别名获取多个分类的文章:

$query = new WP_Query( 'category_name=staff,news' );

根据分类别名获取同时拥有几个分类的文章:

$query = new WP_Query( 'category_name=staff+news' );

排除分类

想要排除一些分类只需要在分类 ID 前加上 “-” 号:

$query = new WP_Query( 'cat=-12,-34,-56' );

多分类查询

获取同时有多个分类的文章,下边的代码会获取必须同时拥有 ID 为 2 和 6 的分类的文章:

$query = new WP_Query( array( 'category__and' => array( 2, 6 ) ) );

获取多个分类的文章,不包含其子分类,下边的代码获取了拥有 ID 为 2 或者 ID 为 6 的分类的文章:

$query = new WP_Query( array( 'category__in' => array( 2, 6 ) ) );

排除一些分类的文章:

$query = new WP_Query( array( 'category__not_in' => array( 2, 6 ) ) );

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn