SYS 棚户区
当前位置:首页 > 分类 > 网络百科 > 文章内容

WordPress 官方网站搜索页面的页脚处写着一行字:“CODE IS POETRY”,短短几个单词,代码如诗歌,却流露着一股对事业的骄傲与挚爱之情。庸俗地套用一下句式到自己的工作上:DRAWING IS PAINTING,图纸如绘画,却总感觉味道和原句差了点什么,形似神不似。到底少了什么,答案浅显,所以一小会儿就想到了,但这里最好还是用此处无声胜有声的一句“吾知而吾不言”填空。

说了半截 drawing,最后还是回到 coding。翻了几篇鸟语文献,今天敲了十几行代码,把页脚处版权信息部分的输出给动态化了,目前实现的效果,逻辑是:

一、网站建站后未发布过文章

“我的网站刚刚成立,把 WordPress 自动生成的第一篇文章删掉,打算自己发。”这时网站上没有任何文章,那就只能输出当前年份,形如:Copyright © 2016 Google.

二、网站建站后发布过文章

1. 首篇文章发布时间为当前年份

“Blog 是年初搭建的,现在才几个月,文章也就十几篇吧。”这时建站时间和首篇文章时间是同一年,输出的效果同“一、”;

2. 首篇文章发布时间早于当前年份

“前两年就开始写博了,毅力大大的有,迄今狂发一千零一篇日志。”这时在页脚同时列出首篇文章的发布年份与当前年份,形如:Copyright © 1998–2016 Google.

既然“CODE IS POETRY”,那么诗文是这样的:

<?php
function blog_copyright_text() {
	$this_year = (int) date( 'Y' );
	$first_post = get_posts( array( 
		'numberposts' => 1,
		'order'       => 'ASC',
	) );
	$first_post_year = (int) mb_strimwidth( $first_post[0]->post_date, 0, 4 );
	$start_year = have_posts() ? $first_post_year : $this_year;
	$copy_text = 'Copyright © ';
	if ( $this_year > $start_year ) {
		$copy_text .= $start_year . '–;';
	}
	$copy_text .= $this_year . ' ' . get_bloginfo( 'name' ) . '.';
	echo $copy_text;
}
?>

对于“二、2.”所述情况,演示请看本站页脚效果“Copyright © 2012–2016 SYS 棚户区.”,其他情况可以自行实践,还是将代码贴到 functions.php 里,在页脚 footer.php 相应位置祭出 blog_copyright_text() 即可调用。另外,由于时间都是自动随年份更新,这个办法对懒人或者几年不更新的站极为适用,但对于服务器,效率最高的无疑还是直接把版权信息静态写到文件里输出。

/* edit @ 2016-08-14 */

稍微改动下,替换获取当前时间的 PHP 原生函数为 WordPress 原生函数。旧版不删,新版如下:

<?php
function blog_copyright_text() {
	$copyright_text = 'Copyright © ';
	$this_year = (int) current_time( 'Y' );
	if ( have_posts() ) {
		$first_post = get_posts( array( 
			'numberposts' => 1,
			'order'       => 'ASC',
		) );
		$start_year = (int) get_the_time( 'Y', $first_post[0] );
		if ( $this_year > $start_year ) {
			$copyright_text .= $start_year . '–';
		}
	}
	$copyright_text .= $this_year . ' ' . get_bloginfo( 'name' ) . '.';
	echo $copyright_text;
}
?>
文章标签
本页链接:https://www.syshut.com/drawing-is-painting.html
版权声明:除特殊注明均为原创文章,转载请保留出处!

微信扫一扫,打赏作者吧~

支付宝扫一扫,打赏作者吧~

评论总数:2,访客评论:1,作者评论:1

  1. 代码如诗~wordpress当真有说这话的资格~~

    回复
    • sys

      @nyun 很有意境的一句话啊

      回复

发表评论

快捷键:Ctrl + Enter