在WordPress中使用wp_count_posts函数来统计文章数量

yipeiwu_com6年前PHP代码库

做一个全站统计是不是很酷?长久的博客越来越少,何不给自己的一个统计,看看自己在这个博客上努力了多少,不但给自己也给游客,wp_count_posts是在 WordPress 中用来统计文章数量的函数,可以统计所有类型的文章(post)和页面(page)。

描述
wp_count_posts是在 WordPress 中用来统计文章数量的函数,可以统计所有类型的文章(post)和页面(page)。

使用

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

返回值
使用上大致也就上面两种形式,
该函数的使用主要是在返回值上,
上面两种形式都会返回一个对象,
如下:可能数值上不太一样,但结构是一样的

object(stdClass)#296 (8) {
//已发布
 ["publish"]=>string(1) "7"
//定时发布
 ["future"]=>int(0)
//草稿
 ["draft"]=>int(0)
//正在编辑的?(有待考证)
 ["pending"]=>int(0)
//隐私
 ["private"]=>int(0)
//垃圾箱
 ["trash"]=>int(0)
//自动草稿
 ["auto-draft"]=>int(0)
//这个不知道,也没研究
 ["inherit"]=>int(0)
}

缺省用法

缺省用法返回已发表文章的计数。这是一个对象,可以在内容中用var_dump()来调试输出结果。

<?php 
$count_posts = wp_count_posts(); 
?>

获取发表状态文章的计数

要获取已发表文章的状态类型,应先调用wp_count_posts()函数然后确查看“发表”属性。

<?php 
$count_posts = wp_count_posts();  
$published_posts = $count_posts->publish; 
?>

若使用PHP5且只想获取一个文章状态,可以用下面更为便捷的方法。这个代码在PHP4中无法运行,因此如果希望保持后台的兼容性,应该选择上面的代码。

<?php 
$published_posts = wp_count_posts()->publish; 
?>

草稿计数

计算草稿数量方法与获取发表状态计数方法一致。

<?php 
$count_posts = wp_count_posts();  
$draft_posts = $count_posts->draft; 
?>

页面计数

计算页面类型数量的方法与计算文章一样,也需要利用第一个参数。查找某一状态下的页面数量与查找该状态下的日志方法相同。

<?php 
$count_pages = wp_count_posts('page'); 
?>

其他用法

wp_count_posts() 可查找日志状态下任何日志类型的数量,包括附件以及将要添加的任何日志类型,也可以通过插件或WordPress部分核心团队达到这一效果。

参数

type

(字符)wp_posts中行的类型,用于核查哪种类型与post_type对应。默认post。

perm

(字符)该参数可将私密文章状态算入文章状态中,使用'readable'并要求用户登录。默认为empty string。

相关文章

PHP 裁剪图片成固定大小代码方法

做一个首页调用图像,有时候往往需要获得固定大小的图像,因为首页的图像位置通常由设计人员指定好了,如果是做最新发布图像调用,因为不知道客户会上传什么比例的图像,所以,有时候也就没有办法确定...

PHP实现的限制IP投票程序IP来源分析

本文实例分析了PHP实现的限制IP投票程序。分享给大家供大家参考,具体如下: 接到一个投票活动的需求,需要做IP限制,每个IP限制一定的投票机会。我在搜索引擎上搜索了关键词:PHP客户端...

Discuz!下Memcache缓存实现方法

前言:在PHP+MySQL架构的站点中,本文重点从MySQL的角度去分析如何使Discuz!论坛(或者类似的PHP+MySQL架构的程序)应对大访问量。同时给出一些使用Memcache去...

解决php-fpm.service not found问题的办法

前言 本文给大家详细介绍了解决php-fpm.service not found问题的相关内容,文中介绍的非常详细,下面来一起看看详细的介绍: 环境介绍 环境:ubuntu 16.04...

刚才在简化php的库,结果发现很多东西

php的ming库用来生成flash!虽然模块是试验性质的, 不过比较有趣。一张大大的表, 很有趣, 给人一种在8g的感觉。 sapi/php4activescript.dll (p...