ブログとか、サイトとかで、必ずでてくるのがCopyright表記、つまり著作権の表示ですね。
静的ページとかだと毎年年明け1発目の仕事はここの年号を変えることだー!なんて人もまだまだいるかも知れません。
WordPressならfooter.phpをちょいちょいっといじれば済む話ですが、それでも年に1回だし忘れがちになりますよね。
そんな時はスクリプトで自動化しておけば楽ですよね。
ということで今日はそれについてちょっと考えてみました。
JavaScriptでやってみる
昔からある手法ですな。
ヘッダーとかに予め
1 2 3 |
<SCRIPT language=JavaScript type=text/javascript> function year() { var data = new Date(); var now_year = data.getFullYear(); document.write(now_year); } </SCRIPT> |
とか書いておいて、年を出したいところで
1 |
<script language=JavaScript type=text/javascript> year(); </script> |
とする方法。
これなら静的ページでも使えます。
PHPでやってみる
WordPressはPHPで動いてます。
なので、これと似たようなことをPHPでやってみます。
1 |
<?php echo date('Y'); ?> |
これで同じように年がでますね。
短いのでこれが一番ラクですね。きっと。
コピペすればどれでも楽ちんですが
WordPressならではの方法でやってみる
プラスαとか言ってますが、ここからが本題(かもしれない)
そもそもCopyrightの変動する方の年って、最後に更新された年(だった気がします)なので、つまり、
2013年がやってきても、2013年にまだ何も更新していなかったら、ここの表記は2012年であるべきなのかなと。
それを実現するには、投稿されている記事と固定ページ両方まとめた状態での最後に更新された記事の情報を取得して、その記事の情報から年を取得すればよさそうです。
こんなかんじに。
1 |
Copyright (C)<?php $getlatest = get_posts('numberposts=1&post_type=any&orderby=modified'); foreach($getlatest as $post): setup_postdata($post); echo the_date('Y'); endforeach; ?> <?php bloginfo('name'); ?>. |
get_postsは様々な条件をつけて投稿データを取得し、サブループを作成する関数です。
get_postsの後ろの()のなかにいろいろと条件をくっつけるわけですね。
numberposts は、取得する記事の数です。今回は最新の1件だけでいいのでここは1です。
post_type は、投稿の種別です。postとかpageとか。今回は全部が対象なので「any」とします。
orderby は、ソートするキー…とでもいうんでしょうか?今回は更新ですので「modified」としました。
この条件で投稿を取得して、それをもとにループをスタートします。
投稿が1件なのにループを回します。1件ということはループも1週で終わるのであってもなくてもいいような感じがしますが、回さないとthe_date()関数が動かないので回します。
the_date()は書式を指定して投稿の日付を表示するための関数です。書式はdate関数と同じものが使えるので、4桁の年を表示するなら「Y」です。
年だけでいいので、
echo the_date(‘Y’);
とすればOKなわけです。
…とまぁ書いてみたんですが…
WordPressでやるならこういう方法もありなのかなーと思ってつらつらと書いてみましたが…。
実際にはそこまで厳密にやらなくても多分大丈夫なんで普段は2番めのdate関数を使う方法でいいんじゃないんですかネ?
折角作ったのでウチのブログはこれでやってみようかと思いますが。
コメントする