PHP で著作権表示の年を自動更新

PHP を使ってサイトの 著作権表示 (コピーライト) の年を自動で更新したいとき、よく用いられるのが以下のようなコードです:

&#169; 2001–<?php echo date('Y'); ?> Example.com

このコードが埋め込まれたページを 2010 年に見た場合、© 2001–2010 Example.com と出力されます。

これは 2001 年に公開されたサイトの例ですが、ではこれから新しく公開するサイトの場合はどうでしょうか。上記の書式をそのまま当てはめると、たとえば 2010 年に公開されたサイトを同じ年に見た場合、出力結果は © 2010–2010 というおかしなことになってしまいます。

そこで、2010 年の間は © 2010 と表示されて、2011 年になったところで © 2010–2011 と更新されるようにしてみます:

&#169; <?php
  $then = 2010; // サイトの公開年
  $now = date('Y');
  if ($then < $now) {
    echo $then.'–'.$now;
  } else {
    echo $then;
  }
?> Example.com

サイトの公開年 ($then) と現在の年 ($now) を比較して出力を分岐させるわけです。もし WordPress なら、以下のように関数を functions.php に書いておいてもいいかもしれません:

function get_copyright_date ($then) {
  $now = date('Y');
  if ($then < $now) {
    return $then.'–'.$now;
  } else {
    return $then;
  }
}

WordPress テンプレート内で公開年を引数にして使います:

&#169; <?php echo get_copyright_date(2010); ?> Example.com

著作権表示自体の是非はさておき。