WordPress 使用 wp_count_posts() 函数快速获取文章数量-wp教程

还记得之前想要获取 WordPress 站点的所有文章总数统计网上的教程,以及子凡在某些地方的使用也都是直接使用 SQL 语句直接查询数据来做总数统计,现在相信还真的是费时费力,原因就是不知道 WordPress 还有 wp_count_posts()这样一个函数,具体是哪个版本出来就懒得去看了,反正随时都保持 WordPress 最新版。

WordPress 使用 wp_count_posts() 函数快速获取文章数量-wp教程

其实在很多的 WordPress 主题上都会有一个统计或者文章归档的页面,就需要统计一些 WordPress 站点上已经发布多少文章了,以此来展示自己的站点或者给自己一个统计,当然我们在开发某些特别的功能或者逻辑计算时也可能会用到,子凡昨天就开发一个插件的时候就多次用到了,不想再去写 SQL 来统计,费时费力并且 WordPress 本身就有的功能为什么就不好好利用呢,果断就想起了 wp_count_posts 函数。

wp_count_posts 函数是在 WordPress 中用来统计文章数量的函数,可以统计的类型有文章(post)和页面(page)。并且能够直接统计出文章各个不同状态的数据,使用起来非常的便捷,两行代码即可搞定。

//获取文章数量
$postcount = wp_count_posts();
//获取页面数量
$pagecount = wp_count_posts('page');

默认是获取的 post 文章类型的,当然如果是自定义类型应该也是可以支持的,这个子凡目前没有测试,不过相信 WordPress 是绝对考虑到了兼容性的,值得注意的是,子凡上面说过了是两行代码,所以上面的例子并不能直接输出,因为 wp_count_posts 函数返回的是一个对象数据,如下。

// WordPress wp_count_posts 函数返回值
stdClass Object
(
    [publish] => 11 //已发布
    [future] => 0   //定时发布
    [draft] => 0    //草稿
    [pending] => 0  //待审
    [private] => 0  //私有
    [trash] => 0    //垃圾箱
    [auto-draft] => 34  //自动草稿
    [inherit] => 0  //修订版本
    [request-pending] => 0
    [request-confirmed] => 0
    [request-failed] => 0
    [request-completed] => 0
)

所以,获取已发布状态文章的完整统计代码如下:

//WordPress 已发布文章数量
$count_posts = wp_count_posts();  
$publish_posts = $count_posts->publish;

其它的就举一反三,相信也都能看得懂了,子凡就不再过多的赘述。最后在补充一点,有时候我们可能喜欢代码的简单性,所以在写法上面就比较大胆,没有怎么考虑兼容性,一行代码就能搞定,所以在不考虑兼容性的情况下还有以下的一种写法:

//WordPress 已发布文章数量,不兼容 PHP5.4 以前
$publish_posts = wp_count_posts()->publish;

子凡比较喜欢用吧,不过使用这种写法请一定保证你的 PHP 版本在 5.4 以上即可正常运行。

主题测试文章,只做测试使用。发布者:云大使,转转请注明出处:https://www.xp8.net/web/722.html

(0)
打赏 微信扫一扫 微信扫一扫
云大使的头像云大使
上一篇 2018年10月2日 下午1:39
下一篇 2018年10月2日 下午1:39

相关推荐

  • WordPress固定链接伪静态设置教程

    伪静态是需要服务器支持的,比如mod_rewrite模块,具体可以咨询服务器管理员,另外部分服务器可能不支持中文链接,这个需要注意。设置方法 进入WordPress后台设置>固定链接,其中第一个“朴素”就是默认的设置,后面几个是WordPress给出的几个可选项,如果都不是你喜欢的链接格式,那么也可以使用最后一个自定义结构。使用自定义结构的话,就需要先了解下…

    建站问题 2018年7月12日
    4.7K00
  • wordpress更换域名的几个步骤

    问题解说其实wordpress换域名需要到数据库进行操作的,首先,来分析一下换域名的几种常见情况; 一、换空间换域名1、如果是上述问题,打包备份旧空间ftp内的所有文件,进旧站数据库phpmyadmin里导出你网站的数据库sql文件; 2、将备份的ftp所有文件上传至新的空间FTP内,将备份的sql上传到新空间的数据库phpmyadmin内; 3、打开新空间…

    2018年7月9日
    6.0K00
  • wordpress上传图片不显示的解决方法

    [v_tips]今天有个客户找到我们学派吧、咨询wordpress搬迁以后、上传图片无法显示的问题、我们协助客户看了下、上传图片以后,在空间里没有这个图片、打开上传的图片地址提示404错误 我们先是检查了wp-config.php配置文件。没有任何问题、[/v_tips]经过排除图片名称及目录权限等问题后,最终发现原来是数据库的问题。 进入PHPMyAdmi…

    2018年8月28日
    7.9K00
  • WordPress 多站点网络克隆网站数据和设置

    现在,很多主题作者都是用 WordPress 多站点网络来做主题演示站,那就遇到一个数据部署的问题,每次都要重新设置一些基本的选项,导入文章和附件等等,实在是麻烦。今天倡萌推荐一个专门解决这个问题的插件 Multisite Cloner ,它可以很方便地将网络中任何一个站点的设置和数据都克隆到另外一个站点,包括设置、文章和其他内容、主题选项和上传的文件等等。…

    2018年7月12日
    8.2K10
  • 基于fastcgi分离和LAMP虚拟主机部署wordpress和DiscuzX-教程

    背景 虚拟主机 fastcgi 部署流程 部署架构 环境 架构图 编译软件 安装开发环境和必要的包 编译httpd 编译php 安装mariadb 配置文件修改 修改httpd主机 修改fast-cgi主机 配置mysql 宿主机的hosts文件修改 安装wordpress和Discuzx 背景 虚拟主机   如今服务器的配置提升明显,单一主机上部署单一网站…

    2018年10月2日
    3.0K00

发表回复

登录后才能评论
联系我们

联系我们

18838889666

在线咨询: QQ交谈

邮件:xinyun@88.com

工作时间:周一至周五,9:30-18:30,节假日休息

添加微信
添加微信
分享本页
返回顶部
---------官方优惠叠加渠道折扣:通过我们购买腾讯云/阿里云,价格更低,服务更优。更有专业配置指导与服务。微信同步:18838889666----