图纸如绘画
WordPress 官方网站搜索页面的页脚处写着一行字:“CODE IS POETRY”,短短几个单词,代码如诗歌,却流露着一股对事业的骄傲与挚爱之情。庸俗地套用一下句式到自己的工作上:DRAWING IS PAINTING,图纸如绘画,却总感觉味道和原句差了点什么,形似神不似。到底少了什么,答案浅显,所以一小会儿就想到了,但这里最好还是用此处无声胜有声的一句“吾知而吾不言”填空。
说了半截 drawing,最后还是回到 coding。翻了几篇鸟语文献,今天敲了十几行代码,把页脚处版权信息部分的输出给动态化了,目前实现的效果,逻辑是:
一、网站建站后未发布过文章
“我的网站刚刚成立,把 WordPress 自动生成的第一篇文章删掉,打算自己发。”这时网站上没有任何文章,那就只能输出当前年份,形如:Copyright © 2016 Google.
二、网站建站后发布过文章
1. 首篇文章发布时间为当前年份
“Blog 是年初搭建的,现在才几个月,文章也就十几篇吧。”这时建站时间和首篇文章时间是同一年,输出的效果同“一、”;
2. 首篇文章发布时间早于当前年份
“前两年就开始写博了,毅力大大的有,迄今狂发一千零一篇日志。”这时在页脚同时列出首篇文章的发布年份与当前年份,形如:Copyright © 1998–2016 Google.
既然“CODE IS POETRY”,那么诗文是这样的:
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 = $first_post ? $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 原生函数。旧版不删,新版如下:
function blog_copyright_text() {
$copyright_text = 'Copyright © ';
$this_year = (int) current_time( 'Y' );
$first_post = get_posts(
array(
'numberposts' => 1,
'order' => 'ASC',
)
);
if ( $first_post ) {
$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;
}
代码如诗~wordpress当真有说这话的资格~~
@nyun 很有意境的一句话啊