诗沐的设计博客和作品集。提供网页设计/开发/用户体验咨询/wordpress博客主题设计等服务。记录网页设计&开发教程,发布wordpress主题。

endless posts

Home » blog » 教程

03/29/2010 (110 days ago)in教程

版权声明:本文来自于Shimu design,转载请注明作者信息及原文链接。
Trackback: 怎么在wordpress中显示文章总数和分类总数

怎么在wordpress中显示文章总数和分类总数

最近在鼓捣自己博客的时候,想实现显示文章总数的功能。在wordpress doc里面翻箱倒柜半天也没有找到一个函数可以做到。好在在论坛里看到一个帖子提到了用mysql中的SELECT和WHERE子句,这样的话就可以在数据库里拿到COUNT这个值了。

要实现的功能很简单,代码也很简单,如下:

<?php
  $numposts = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts WHERE post_status = 'publish'");  //在数据库中判断post_status是publish的文章,并计总数
  if (0 < $numposts) $numposts = number_format($numposts);  //格式化将要输出的总数
?>
<?php
  echo $numposts  //输出这个变量
?>

好在子句简单,性能上应该没什么问题。在这个事例上再次证明了google是最好的老师。接下来一个想法是解决现实分类总数的问题。这个倒是有wp的方法可以hack一下。

<?php
  $thecats = wp_list_categories('title_li=&exclude=1&style=none&echo=0'); // 用wp_list_categories来获取所有分类,去掉所有的html(我这里用到了exclude=1只是为了排除某个分类),把字符串赋值到$thecates
  $splitcats = explode('',$thecats); // 用来分割上面获取到字符串,成为数组(分类1 分类2 分类3这样)
  $summ = count($splitcats)-1; // 计算数组中单元的个数,这里要减去1,因为比我们想要得到的值多1,并赋值给$summ
?>
<?php
  print $summ;
?>

只能说,程序员们太聪明啦!本文中提到的三个php方法可以参考w3school的文档(它一直是很不错的网站):number_format()explode()count()

类似的网志,挑你喜欢的看:

leave a comment

* Required (but your email address will never be published)