WordPress给新文章增加new标志方法总汇

WordPress发布文章一般类型是置顶或者在默认正常。如果在24小时内最新发布的文章标题加上相应的图标,不仅可以增加美观,也可以提高用户浏览网站的点击率。实现方法很简单,就是算个时间差,在规定时间内,插入特定文字或图标。网上有各种漂亮的图标大家可以自己去搜一下。然后上传网站替换下面代码的图片路径即可。

方法一:

function add_title_icon($title) {
	global $post;
	$post_date=$post->post_date;
	$current_time=current_time('timestamp');
	$diff=($current_time-strtotime($post_date))/3600;
	$title_icon_new=get_bloginfo('template_directory').'/images/new.gif';
	if($diff<24) {
		$title='<img src="'.$title_icon_new.'" />'.$title;
	}
	return $title;
}
add_filter('the_title','add_title_icon',999);

把以上代码插入在主题文件夹的 functions.php 里就行了,可以修改代码中的24为你想要的数值,则超过规定的时间后图标就会自动消失。

用了以上代码后,如果页面列表里的链接也加上了和标题一样的new图标,可以添加以下代码解决:

function strip_page_icon_html($content) {
	$content = preg_replace('@<img(\s?)src=(.*?)(\s?)\/>@','',$content);
	$content = preg_replace('@<img(\s?)src=(.*?)(\s?)\/>@','',$content);
	return $content;
}
add_filter('wp_list_pages','strip_page_icon_html',1000);

方法二:

$t1=$post->post_date;
$t2=date("Y-m-d H:i:s");
$diff=(strtotime($t2)-strtotime($t1))/3600;
if($diff<24) {
	echo '<img src="'.get_bloginfo('template_directory').'/images/new.gif" alt='24小时内最新' />';
} else {
	echo "";
}

把这段代码加到需要的地方就行。

本人强烈推荐使用方法二,如果发现 date()函数获取的时间晚8个小时,可以在上面的代码的顶部添加以下代码即可:

date_default_timezone_set('PRC'); //用来定义默认时区为中国时区
© 版权声明
THE END
喜欢就支持一下吧
点赞6赞赏
分享
评论 抢沙发

请登录后发表评论