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
基于fastcgi分离和LAMP虚拟主机部署wordpress和DiscuzX-教程
下一篇 2018年10月2日 下午1:39

相关推荐

  • Ubuntu+nginx搭建wordpress的教程-WP搭建

    一. 前言 二. 接下来就是搭博客的过程 三、大功告成 一. 前言 开学之初,我发现Azure上有一个100刀的学生优惠。但在领取这个优惠之后,我却一直没有使用的机会,一是自己不会用,二是没有多余的时间。现在等来了放假,终于可以好好搞一搞了。:joy: 这次搭博客可谓是踩了不少坑: 百度的教程基本上都是废的,只有谷歌的英文教程才是能用的,好气啊 apache…

    2018年10月2日
    4.3K00
  • Nginx下如何设置WordPress为多站点-WP搭建教程

    1、准备 2、Nginx配置 3、安装WordPress 4、启用多站点功能 5、设置域名映射 6、结果 WordPress的多站点功能允许安装一个WordPress程序的情况下,实现多个站点(也就是一套程序,可以绑定多个域名或子域名)。 每个站点拥有独立的主题、插件、文章以及页面。 这样可以极大的减少了维护和更新多个WordPress安装程序的麻烦, 并且…

    2018年10月2日
    4.7K00
  • WordPress简单移除程序和插件更新提示-学派吧

    利用WordPress搭建一些定制或特殊站点时会需要移除WordPress的相关更新提示,但网上有很多是不能够正常解决问题,所以在这里告诉大家下面比较简单的方法。 只需要将下面的代码块复制到主题下的 functions.php 文件中,最好连注释一起复制,方便日后阅读和使用代码: // 移除wordpress核心更新提示 add_filter( ‘pre_s…

    2018年10月24日
    3.7K00
  • WordPress如何防范大规模暴力破解攻击教程解决方法

    前几天一个客户网站几天遭到了大规模的暴力破解攻击,攻击者首先扫描互联网上的 WordPress 网站,然后利用 Web 服务器组建的僵尸网络不断尝试用户名和密码试图登录管理后台。 一般的僵尸网络是利用普通 PC,而这次攻击者使用了超过 9万台 Web 服务器,服务器比 PC 有更大的带宽和连接速度,因此可以更快的发动攻击。攻击者暴力攻击WordPress 管…

    2018年10月28日
    4.4K00
  • WordPress提示502 Bad Gateway错误的解决方法

    [v_tips]502 Bad Gateway错误的含义是什么?[/v_tips] 502 Bad Gateway错误是个HTTP状态代码,意味着互联网上的一台服务器收到了来自另一台服务器的无效响应。用技术性更强的话来说,502 Bad Gateway意味着代理(网关)服务器无法获得来自上游服务器的有效响应或任何响应。 W3.org的官方文档指出,这与以5(…

    2018年9月5日
    7.2K00

发表回复

登录后才能评论
联系我们

联系我们

18838889666

在线咨询: QQ交谈

邮件:xinyun@88.com

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

添加微信
添加微信
分享本页
返回顶部