网络编程 
首页 > 网络编程 > 浏览文章

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

(编辑:jimmy 日期: 2025/3/20 浏览:3 次 )

作者
查询和某些作者(用户)有关的文章,可以使用 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 ) ) );

上一篇:WordPress中查询文章的循环Loop结构及用法分析
下一篇:PHP附件下载中文名称乱码的解决方法
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。