小赵赵 發表於 2023-6-12 00:00:00

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

<p>
做一个全站统计是不是很酷?长久的博客越来越少,何不给自己的一个统计,看看自己在这个博客上努力了多少,不但给自己也给游客,wp_count_posts是在 WordPress 中用来统计文章数量的函数,可以统计所有类型的文章(post)和页面(page)。</p>
<p>
<strong>描述</strong><br>
wp_count_posts是在 WordPress 中用来统计文章数量的函数,可以统计所有类型的文章(post)和页面(page)。</p>
<p>
<strong>使用</strong></p>
<div>
<div>
<div id="highlighter_755475">
<div>
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td>
<div>
1</div>
<div>
2</div>
<div>
3</div>
<div>
4</div>
</td>
<td>
<div>
<div>
<code>//获取文章数量</code>
</div>
<div>
<code>$postcount</code> <code>= wp_count_posts();</code>
</div>
<div>
<code>//获取页面数量</code>
</div>
<div>
<code>$pagecount</code> <code>= wp_count_posts(</code><code>'page'</code><code>);</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div id="codetool">
<div>
<textarea></textarea>
</div>
</div>
</div>
<p>
<strong>返回值</strong><br>
使用上大致也就上面两种形式,<br>
该函数的使用主要是在返回值上,<br>
上面两种形式都会返回一个对象,<br>
如下:可能数值上不太一样,但结构是一样的</p>
<div>
<div>
<div id="highlighter_200347">
<div>
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td>
<div>
1</div>
<div>
2</div>
<div>
3</div>
<div>
4</div>
<div>
5</div>
<div>
6</div>
<div>
7</div>
<div>
8</div>
<div>
9</div>
<div>
10</div>
<div>
11</div>
<div>
12</div>
<div>
13</div>
<div>
14</div>
<div>
15</div>
<div>
16</div>
<div>
17</div>
<div>
18</div>
</td>
<td>
<div>
<div>
<code>object(stdClass)#296 (8) {</code>
</div>
<div>
<code>//已发布</code>
</div>
<div>
<code> </code><code>[</code><code>"publish"</code><code>]=&gt;string(1) </code><code>"7"</code>
</div>
<div>
<code>//定时发布</code>
</div>
<div>
<code> </code><code>[</code><code>"future"</code><code>]=&gt;int(0)</code>
</div>
<div>
<code>//草稿</code>
</div>
<div>
<code> </code><code>[</code><code>"draft"</code><code>]=&gt;int(0)</code>
</div>
<div>
<code>//正在编辑的?(有待考证)</code>
</div>
<div>
<code> </code><code>[</code><code>"pending"</code><code>]=&gt;int(0)</code>
</div>
<div>
<code>//隐私</code>
</div>
<div>
<code> </code><code>[</code><code>"private"</code><code>]=&gt;int(0)</code>
</div>
<div>
<code>//垃圾箱</code>
</div>
<div>
<code> </code><code>[</code><code>"trash"</code><code>]=&gt;int(0)</code>
</div>
<div>
<code>//自动草稿</code>
</div>
<div>
<code> </code><code>[</code><code>"auto-draft"</code><code>]=&gt;int(0)</code>
</div>
<div>
<code>//这个不知道,也没研究</code>
</div>
<div>
<code> </code><code>[</code><code>"inherit"</code><code>]=&gt;int(0)</code>
</div>
<div>
<code>}</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div id="codetool">
<div>
<textarea></textarea>
</div>
</div>
</div>
<p>
<strong>缺省用法</strong></p>
<p>
缺省用法返回已发表文章的计数。这是一个对象,可以在内容中用var_dump()来调试输出结果。</p>
<div>
<div>
<div id="highlighter_446794">
<div>
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td>
<div>
1</div>
<div>
2</div>
<div>
3</div>
</td>
<td>
<div>
<div>
<code>&lt;?php </code>
</div>
<div>
<code>$count_posts</code> <code>= wp_count_posts(); </code>
</div>
<div>
<code>?&gt;</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div id="codetool">
<div>
<textarea></textarea>
</div>
</div>
</div>
<p>
<strong>获取发表状态文章的计数</strong></p>
<p>
要获取已发表文章的状态类型,应先调用wp_count_posts()函数然后确查看“发表”属性。</p>
<div>
<div>
<div id="highlighter_753705">
<div>
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td>
<div>
1</div>
<div>
2</div>
<div>
3</div>
<div>
4</div>
</td>
<td>
<div>
<div>
<code>&lt;?php </code>
</div>
<div>
<code>$count_posts</code> <code>= wp_count_posts();  </code>
</div>
<div>
<code>$published_posts</code> <code>= </code><code>$count_posts</code><code>-&gt;publish; </code>
</div>
<div>
<code>?&gt;</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div id="codetool">
<div>
<textarea></textarea>
</div>
</div>
</div>
<p>
若使用PHP5且只想获取一个文章状态,可以用下面更为便捷的方法。这个代码在PHP4中无法运行,因此如果希望保持后台的兼容性,应该选择上面的代码。</p>
<div>
<div>
<div id="highlighter_908635">
<div>
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td>
<div>
1</div>
<div>
2</div>
<div>
3</div>
</td>
<td>
<div>
<div>
<code>&lt;?php </code>
</div>
<div>
<code>$published_posts</code> <code>= wp_count_posts()-&gt;publish; </code>
</div>
<div>
<code>?&gt;</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div id="codetool">
<div>
<textarea></textarea>
</div>
</div>
</div>
<p>
<strong>草稿计数</strong></p>
<p>
计算草稿数量方法与获取发表状态计数方法一致。</p>
<div>
<div>
<div id="highlighter_380150">
<div>
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td>
<div>
1</div>
<div>
2</div>
<div>
3</div>
<div>
4</div>
</td>
<td>
<div>
<div>
<code>&lt;?php </code>
</div>
<div>
<code>$count_posts</code> <code>= wp_count_posts();  </code>
</div>
<div>
<code>$draft_posts</code> <code>= </code><code>$count_posts</code><code>-&gt;draft; </code>
</div>
<div>
<code>?&gt;</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div id="codetool">
<div>
<textarea></textarea>
</div>
</div>
</div>
<p>
<strong>页面计数</strong></p>
<p>
计算页面类型数量的方法与计算文章一样,也需要利用第一个参数。查找某一状态下的页面数量与查找该状态下的日志方法相同。</p>
<div>
<div>
<div id="highlighter_403166">
<div>
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td>
<div>
1</div>
<div>
2</div>
<div>
3</div>
</td>
<td>
<div>
<div>
<code>&lt;?php </code>
</div>
<div>
<code>$count_pages</code> <code>= wp_count_posts(</code><code>'page'</code><code>); </code>
</div>
<div>
<code>?&gt;</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div id="codetool">
<div>
<textarea></textarea>
</div>
</div>
</div>
<p>
<strong>其他用法</strong></p>
<p>
wp_count_posts() 可查找日志状态下任何日志类型的数量,包括附件以及将要添加的任何日志类型,也可以通过插件或WordPress部分核心团队达到这一效果。</p>
<p>
<strong>参数</strong></p>
<p>
type</p>
<p>
(字符)wp_posts中行的类型,用于核查哪种类型与post_type对应。默认post。</p>
<p>
perm</p>
<p>
(字符)该参数可将私密文章状态算入文章状态中,使用'readable'并要求用户登录。默认为empty string。</p>
頁: [1]
查看完整版本: 在WordPress中使用wp_count_posts函数来统计文章数量