WordPressで構築したWEBサイトのフッター部分に表示するcopyright(著作権)ですが、年表示を毎年手動で更新するのは手間ですし、更新を忘れてしまうこともあります。
そこで自動で更新できるようにカスタマイズします。
カスタマイズしたソースコード
いきなりですが、最初にカスタマイズしたソースコードを記載します。
<p id="copyright"> <small>Copyright © 2013-<?php echo date_i18n('Y');?><a href="<?php echo esc_url( home_url( '/' ) ); ?>" title="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>"><?php bloginfo( 'name' ); ?></a> All rights reserved.</small> </p>
上記のコードを順番に解説します。
©
は著作権記号の©を表示する為の文字実体参照です。
<?php echo date_i18n('Y');?>
はローカル日時を取得する関数です。
phpには
<?php echo date('Y');?>
のようにdate関数がありますが、Wordpressは時刻はUTC協定世界時で扱っているので、date関数を使うとUTCの時刻が返ってきて時差で時刻がずれます。時差を調整するためにdate_i18n関数を使って日時を取得します。
<a href="<?php echo esc_url( home_url( '/' ) ); ?>
はテンプレートタグhome_urlでサイトのトップページURLを取得します。esc_urlでURLとして不適切な文字列の削除などを行います。このようなエスケープ処理は悪意のあるスクリプトを注入させるといったXSS(クロスサイトスクリプティング)を防止するために必要です。
title="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>">
はテンプレートタグget_bloginfoの第1引数にnameを指定して、管理画面で指定したブログのタイトルを取得します。第2引数にdisplayを指定するとwptexturize()などのフィルタが適用されます。
また、この部分はHTMLのtitle属性なのでesc_attrを使ってエスケープ処理をします。URL以外の属性値のエスケープ処理は全てesc_attrを使用します。