子テーマを作らずに、functions等からコピーライトを変更する方法。

Nishiki Proのカスタマイズ!
霊夢
霊夢

このNishiki Pro、使い勝手がいいわね。でも、フッターのコピーライトをちょっと独自に変えたくなったら、いちいち子テーマを作らなきゃいけないの?

魔理沙
魔理沙

そうだな、子テーマっていうのも手間だし、もっと手軽に変更できたらいいのにな。

たったか
たったか

実は、functions.php を使って、子テーマを作らずにコピーライトを変更する方法があるんだよ。

霊夢
霊夢

へえ、それってどうやるの?

WordPress の Nishiki Pro テーマを使用している際に、フッターに表示されるコピーライト表記をカスタマイズしたいと考えるユーザーは多いでしょう。テーマの直接編集はアップデート時に変更が上書きされるリスクがあるため、推奨される方法ではありません。子テーマを作成するのは一つの解決策ですが、すべてのケースでそれを行うのは手間がかかる場合もあります。そこで、functions.php を利用した方法で、簡単にコピーライト情報をカスタマイズする手順をご紹介します。

子テーマの作成についての考え方の一つ例ですが…。

子テーマを作成する目的は、テーマのカスタマイズ時に親テーマのアップデートによって変更が上書きされるのを防ぐことにあります。しかし、特に小さな変更や追加のために子テーマを作るのは、設定や管理に手間がかかりますよね。特にコピーライト情報のようなテキスト変更の場合は、もっと簡単な方法を…教えてくれ!と、あなたは思っていませんか?

魔理沙
魔理沙

教えてくれって思うんだぜ!

テーマの functions.php に追加してみよう。

たったか
たったか

まずは、テーマの functions.php ファイルを開いて、特定のフィルターフックを追加するんだ。例えばこんな感じで。

function add_custom_footer_content($copyright)
{
	// カスタム HTML コンテンツを定義
	$custom_html = "<span>Change in the world is an 'opportunity'.</span><span>© <a href='/'>会社の名前とか</a></span>";

	// オリジナルのコピーライト情報にカスタム HTML を追加
	$new_content = $custom_html . $copyright;

	// 新しいコンテンツを返す
	return $new_content;
}
add_filter('nishiki_pro_copyright', 'add_custom_footer_content');

この方法では、WordPress のフィルターフックを利用してコピーライト情報を変更します。functions.php にカスタム関数を追加し、その関数でコピーライトテキストをカスタマイズすることができます。

このコードは、nishiki_pro_copyright のフィルターフックに独自の関数を追加し、カスタム HTML コンテンツをコピーライト情報に追加するものです。これにより、子テーマを作成せずとも、フッターにカスタムのコピーライト情報を表示できます。

魔理沙
魔理沙

これで、フッターのテキストを自分たちの好きなように変えられるってわけか。

たったか
たったか

その通り。このコードを追加することで、オリジナルのコピーライト情報にカスタム HTML を挿入することができるんだ。

ただし、この方法は直接HTMLを編集しているわけではないので、あくまで <p class="copyright"></p> の中を変更する感じです。なので <span> などのインライン要素で少し変化をつけたい!等の時に使える方法の一つとして覚えておくと良いかもしれません!

カスタマイズ部分にHTMLを記述させる方法にしよう!

wp_kses_post 関数を通じても HTML を出力することは可能です。この関数は、許可された HTML タグと属性を通過させるため、安全な HTML 出力します。具体的には、$copyright 変数内に HTML を含め、その変数を echo wp_kses_post( $copyright ); で出力することで、HTML コンテンツを出力できます。

wp_kses_post を省略し、直接 HTML を出力する事もできますが、この方法は外部からの入力を含む可能性がある場合、XSS 攻撃(クロスサイトスクリプティング)などのセキュリティリスクを高める可能性があるため注意が必要です!

たったか
たったか

てゆか、絶対オススメしないよ。

プラグインを使用してカスタマイズした方がおすすめかも。

霊夢
霊夢

でも、テーマを更新したら、この変更が消えちゃうんじゃないの?

たったか
たったか

いい質問だね。確かに、テーマを更新すると functions.php の変更は失われる可能性がある。だから、プラグインを使うのがおすすめだよ。プラグインを使えば、カスタムコードをテーマの更新に影響されずに管理できるからね。

WordPress のテーマを更新すると、functions.php に加えたカスタマイズは上書きされてしまいます。これを防ぐための一般的な方法は、子テーマを使用することですが、すでにご存じの通り、そのための設定や管理が必要になります。

テーマを更新してもカスタマイズが適用されるようにするには、プラグインを使う方法があります。プラグインを使用すれば、テーマに依存しないカスタマイズが可能となり、テーマの更新に影響されずに済みます。以下にいくつかのプラグインを紹介します。

Code Snippets

Code Snippets は、functions.php にコードを追加する代わりに、カスタム PHP コードのスニペットを管理するためのプラグインです。このプラグインを使用すると、カスタマイズを簡単に追加、編集、削除できるようになります。また、スニペットをテーマやプラグインから独立して管理できるため、テーマを更新してもカスタマイズが失われることはありません。

たったか
たったか

よっぽどのことがなければこれで良いんじゃないかな?

My Custom Functions

My Custom Functions は、サイトに独自の PHP コードを安全に追加することができるプラグインです。コードを直接 functions.php ファイルに書き込む代わりに、プラグインの設定画面からコードを追加します。これにより、テーマを更新しても、追加したコードはそのまま保持されます。

このプラグインの公開はガイドライン違反が理由で2022年11月10日に停止されており、ダウンロードできません。プロ版があるみたいですが、触ったことがないのでリンクは削除しました。

魔理沙
魔理沙

なるほど、プラグインを使えば安心してカスタマイズできるわけか。

たったか
たったか

正解。さらに、この方法ならサイトのセキュリティを損なうことなく、安全にカスタマイズすることができるよ。

使用方法のアドバイス

  • Code SnippetsMy Custom Functions のようなプラグインを使用する場合、追加するコードは綿密に検証し、サイトの動作に悪影響を及ぼさないように注意してください。
  • テーマのアップデートが頻繁に行われる場合や、より複雑なカスタマイズを行いたい場合は、子テーマを設定することを検討してみてもいいかもしれません。
  • プラグインを使用する際は、常に最新の状態に保ち、互換性の問題がないか定期的に確認することが重要です。
たったか
たったか

「最新」といってもすぐしなくてもいいというか、僕はちょっと時間を置いてから、アップデートしてます。メジャーアップデートの場合は特に!考え方は人それぞれだけどね!

まとめ

霊夢
霊夢

またこれで一つ賢くなったわね!

魔理沙
魔理沙

ああ、ありがとう!これで自分たちのサイトをもっと自分たちらしくできるぜ!

この記事では、子テーマを作成せずにNishiki Proのコピーライト情報をカスタマイズする方法を紹介しました。functions.phpに直接コードを追加する方法と、Code Snippetsのようなプラグインを使用する方法の二つを解説しました。どちらの方法も、テーマの更新時にカスタマイズが保持されるようにすることができます。これにより、サイトの見た目を自由にカスタマイズしながら、安全性と便利さを確保することが可能になります。

たったか
たったか

バックアップはしっかり取ってね!