给wordpress添加文章发布时间、最后修改时间及评论数量

添加发布时间便于记忆,方便整理。

一、添加文章发布时间

一般发文章多了,加一个发布时间会显得很有条理,知道是什么时候什么时间写的文章(当然可以在后台查看,不过不方便)。下面给大家两种格式:

1、发布时间为XXX前
20160612110349

在functions.php下添加如下代码:

function timeago( $ptime ) {
    $ptime = strtotime($ptime);
    $etime = time() - $ptime;
    if ($etime < 1) return '刚刚';
    $interval = array (
   12 * 30 * 24 * 60 * 60 => '年前 ('.date('Y-m-d', $ptime).')',
    30 * 24 * 60 * 60 => '个月前 ('.date('m-d', $ptime).')',
    7 * 24 * 60 * 60 => '周前 ('.date('m-d', $ptime).')',
    24 * 60 * 60 => '天前',
    60 * 60 => '小时前',
    60 => '分钟前',
    1 => '秒前'
   );
    foreach ($interval as $secs => $str) {
    $d = $etime / $secs;
    if ($d >= 1) {
    $r = round($d);
    return $r . $str;
    }
   };
   }

列表页和文章页面: 使用的时候在需要显示时间的的地方加入以下代码即可:

<?php echo '发表于 '.timeago( get_gmt_from_date(get_the_time('Y-m-d G:i:s')) ); ?>

评论区域使用方法: 使用的时候在需要显示时间的的地方加入以下代码即可:

<?php echo '发表于 '.timeago( $comment->comment_date_gmt ); ?>

注意:此函数传值格式为“2016-06-06 11:11:11”,只要格式符合就行。

2、发布时间为具体的时间
20160612110141

这种方法只需要用wordpress自带的函数即可,在需要显示发布时间的地方加入以下代码:

<?php echo the_time('Y-m-j h:s l'); ?>

wordpress时间函数以及参数

文章的时间函数为:<?php the_time() ?>
评论的时间函数为: <?php comment_date() ?>
评论的日期函数为:<?php comment_time() ?>

参数

参数描述

输出时间格式

d

日期

06

j

日期

6

D

星期

F

月份

一月

g

小时

6

G

小时

06

h

分钟

6

H

分钟

06

a

上下午

am/pm

A

上下午

AM/PM

l

星期

星期一

m

月份

01

M

月份

Jan

n

月份

6

O

时区

+0800

r

完整的日期时间

Mon, 06 Jan 2010 20:30:10 +0800

S

序列型数字的后缀

st/th

T

时区

CST

w

星期

2

W

周数

22

y

年份

10

Y

年份

2010

z

天数

365

下面再举几个WordPress设置时间格式的例子: 中文日期格式设置,年月日:如:2010年2月1日,则Wordpress the time函数的参数这样写:

<? php the_time('Y年n月j日'); ?> 

中文时间的设置,小时分秒:如:22:22:22,则Wordpress the time函数的参数这样写:

<? php the_tim<? php the_time('G:i:s'); ?> e('Y年n月j日'); ?> 

星期格式设置,星期:如:2010年11月1日星期四,则Wordpress the time函数的参数这样写:

<? php the_time('Y年n月j日l'); ?> 

有时候我们主题喜欢中英文混输的日期显示格式,对于使用中文版 WordPress来说,这个就要做一些小小的调整了。这里以显示日志时间的月份为例,我们在主题中使用 the_time( 'M' ) 应该可以打印出一个 Sep 的英文简写的月份值,但是WordPress 会非常人性化地为你翻译成“九”,那么这个时候我们从函数角度出发解决此问题,重置一下,避免汉化。

将函数:

<?php the_time('M');?> 
替换成:
<?php echo date('M',get_the_time('U'));?> 

二、添加文章修改时间

wordpress自带修改时间函数the_modified_time(),这个函数就是显示最后更新时间用的。括号中还需要填上WordPress的日期格式。比如:

<?php the_modified_time('Y年n月j日'); ?>

其中的Y年n月j日可以自定义,比如改成Y-m-j或者Y-m-j h:s。格式同上面的发布日期的时间函数。

上边的标签太单一,最好能做个判断,如果文章修改过(不包括当天),则显示最后一次修改时间,没修改或者当天修改过,则显示发布日期,代码为:

 (get_the_time('Y')*365+get_the_time('z'))) : ?>
	最后修改:

	最后修改:

the_date_xml()是文章页模版的时间标签,如果在首页就需要修改成首页的。

三、添加文章评论数量

直接将下面的函数添加到当前主题的 functions.php

/* 获取文章的评论人数 by zwwooooo | zww.me */
function zfunc_comments_users($postid=0,$which=0) {
	$comments = get_comments('status=approve&type=comment&post_id='.$postid); //获取文章的所有评论
	if ($comments) {
		$i=0; $j=0; $commentusers=array();
		foreach ($comments as $comment) {
			++$i;
			if ($i==1) { $commentusers[] = $comment->comment_author_email; ++$j; }
			if ( !in_array($comment->comment_author_email, $commentusers) ) {
				$commentusers[] = $comment->comment_author_email;
				++$j;
			}
		}
		$output = array($j,$i);
		$which = ($which == 0) ? 0 : 1;
		return $output[$which]; //返回评论人数
	}
	return 0; //没有评论返回0
}

调用方法:

<?php echo zfunc_comments_users($postid); ?>

参数说明:$postid是需要获取评论人数的文章ID

一般用法:在一般主题的loop里面可以这样用:

<?php echo zfunc_comments_users($post->ID); ?>
PS:还可以输出评论总数,用法:
<?php echo zfunc_comments_users($postid, 1); ?>
标签:   |  
时间: 2016年06月12日上午11:34  |  
作者:
6 COMMENTS
  1. 2016/06/24
    成航先森

    添加最后修改的时间挺不错的,等有空加上

  2. 2017/09/21
    搬瓦工

    好教程 感谢分享

  3. 2018/01/09
    文凯

    学习啦,棒棒哒

LEAVE A REPLY
loading
正在赶回来……