专注 WordPress 高端企业主题的的设计与开发!

WordPress获取不同用户、类型文章和自定义字段下的文章数量

2018 年 8 月 5 日 949次

萨龙网络开发的 MNews 主题中,集成了个人中心功能,需要获取文章、视频、下载、专题和商城的文章数量,这个是比较简单,使用wp_count_posts()函数即可。如果要获取不同用户、不同自定义字段下的不同文章类型的文章数量怎么办,同样很好解决,使用get_posts()函数。

一、代码

  1. /*不同用户,不同文章类型,不同字段下的文章数量*/
  2. function salong_author_post_field_count($post_type,$user_id,$field) {
  3.     global $post;
  4.     $post_args = get_posts( array(
  5.         'posts_per_page' => -1,
  6.         'post_type'      => $post_type,
  7.         'post_status'    => 'publish',
  8.         'author'         => $user_id
  9.     ) );
  10.     $counter = 0;
  11.     foreach ( $post_args as $post ){
  12.         $views = absint( get_post_meta( $post->ID, $field, true ) );
  13.         $counter += $views;
  14.     }
  15.     return $counter;
  16. }

二、调用

调用很方便,比如要调用 ID 为1的用户,视频(video)类型文章下的有浏览量(views)的文章数量:

echo salong_author_post_field_count('video','1','views');