賢威8のコピーライトの年を更新する一番簡単な方法

最近気が付いたのですが、このサイトのフッターにあるコピーライトの年表示がサイト作成時の2019年のままでした。
このままだと、サイトが2019年から更新されていないような印象を与えてしまいます。
そこで、賢威8のコピーライト表示を訂正する一番簡単な方法を探ってみます。

正しいコピーライト表記とは

コピーライトの書き方のルールは、次のようになっています。

  • ©を書く
  • 最初に発行した年を書く
  • 更新した年は任意
  • 著作権者を書く

つまり、賢威8が賢威8をインストールした年をコピーライトの年に使用していても、ルール上は何の問題もないということです。

しかし、一般の購読者がこのルールを熟知しているわけではありません。
そのため発行年のみだと、「このサイトは何年も更新していない」という印象を与えてしまいます。
つまり内容が古いと思われて、その瞬間にサイトから離脱されてしまうのです。

これは、絶対に避けたい大きな問題ですね。
そこでここでは、発行年-更新年(今年)という形式でコピーライトを表示します。
さらに、更新年は年を越すごとに自動更新するように修正します。

一番簡単な修正方法

賢威8のテーマファイルを調べてみたところ、今回は子テーマを修正するのが一番簡単のようです。

賢威8の子テーマを使用していない人は、次の公式マニュアルを参考にして子テーマを導入してください。
賢威8マニュアル 賢威の子テーマを設定しましょう(ライダーストアへのログインが必要です)
読んでもわからないという人は、わからない点をご連絡ください。
詳しい記事を書きます!

子テーマのfunction.phpを開く

次の手順で、子テーマのfunction.phpを開きます。

  1. メニュー外観から、テーマエディターを選択
  2. リストから賢威8.0(子テーマ)を選択
  3. 選択ボタンを押す
  4. テーマのための関数(function.php)をクリック

子テーマのfunction.php

コードをコピペ

次のコードをコピーして、function.phpに貼り付けます。

賢威8のコピーライトの年を更新するコード
function get_installed_year() {
	global $wpdb;
		$year_string = "";

		$result = $wpdb->get_var( "select post_date from {$wpdb->posts} ORDER BY ID ASC LIMIT 1" );
		if ( isset( $result ) ) {
			$year_string = date( 'Y', strtotime( $result ) );
		}
			// ここまで親テーマのget_installed_year()を流用
		$now_year = date('Y');
	return $year_string === $now_year ? $year_string : $year_string . '-' . date('Y');
}

貼り付けたら、ファイルを更新ボタンを押します。

Webページを表示すると、開始年-今年 という形式でコピーライトの年が表示されます。
ただし、開始年と今年が同じときは、開始年のみ表示されます。

賢威8のコピーライトの年を更新するコード適用後

解説

賢威8のfooter.phpファイルを見ると、コピーライト部分が次のようになっています。

footer.php
<div class="keni-copyright_wrap">
			<div class="keni-copyright">

				<small>&copy; <?php echo get_installed_year() . ' ' . get_bloginfo( 'name' ); ?></small>

			</div><!--keni-copyright_wrap-->
		</div><!--keni-copyright_wrap-->

中央付近のget_installed_year()が、年を取得する関数になっていて、これは賢威8独自の関数です。

Webページ表示時function.php が読み込まれます。
そしてfunction.phpはkeni/keni-controler.phpを読み込んでいます。さらにそこから keni/common/keni.php を読み込んでいます。
get_installed_year()はkeni.phpにあり、get_installed_year関数が定義されていないときに、get_installed_year関数を定義しています。

そのため、この定義よりも前にget_installed_year関数を定義すれば、独自のget_installed_year関数を使用できるわけです。

都合のいいことに、WrodPressは親テーマのfunction.phpの前に、子テーマのfunction.phpを読み込みます。

そこで、子テーマのfunction.phpに上述のコードを挿入することで、希望するコピーライトの年表示が可能になります。