WordPressで記事下に共通メッセージを挿入する方法

アフィリエイトをしているなら、記事の最後に他ページへのリンクや広告を表示しないともったいないですね。
WordPressのテーマは、記事下に共通のコンテンツをセットできるものが多いのですが、一部には対応していないものもあります。

そこで今回は、簡単なプラグインを自作して、記事下に共通メッセージを表示する方法をお伝えします。

※プラグインを自作するのは難しく感じますが、実はfunction.phpを変更するより簡単です。ぜひチャレンジしてみてください。

自作プラグインの準備

まずは自作プラグインのひな型をWordPressにインストールします。

次の記事で紹介しているzipファイルをダウンロードして、WordPressに追加するだけです。

WordPressカスタマイズの準備|自作したコードはテーマをバージョンアップしたら消えてしまう?

WordPressカスタマイズの準備|自作したコードはテーマをバージョンアップしたら消えてしまう?

質問 ネットで調べてみると、functions.phpを書き換えるように指示されていることが多いですね。 質問者様も、こちらを書き換える予定だと思います。 テーマのバージョンアップで配布されるファイルには、新しいfunc […]

続きを読む

上の記事はすべて読まなくても大丈夫ですが、『自作コードを編集するには?』は読んだ方がいいかもしれません。

記事下にメッセージを挿入する基本コード

PHP
add_filter('the_content', 'my_the_content_filter', 12);
function my_the_content_filter($content){
	if(is_single()){
$output <<< EOF
// ここにhtmlを書く
EOF;
		return $content . $output;
	}
	return $content;
}

このコードはWordPressのフィルター機能を利用しています。

1行目のadd_filterは、ある関数の実行前に、呼び出す関数をフック(登録)します。
ここではthe_contentという記事内容の表示関数を実行する前に、my_the_content_filterという関数を呼び出すように設定しています。

3行目のis_single()は、投稿記事かどうか判定しています。
個別ページを含める場合は、次のようにします。

PHP
// 投稿ページと個別ページ
	if(is_single() || is_page()){

// 
個別ページのみの場合
	if(is_page()){

5行目($output = <<< EOF)と7行目(EOF;)間に、表示したいhtmlを入力します。
行が増えても問題ありません。

PHP

$output <<< EOF
<p>本日最後の大売り出し</p>
<p><a> href="xxx" >詳しくはこちら</a><a></p>
EOF;

8行目は記事内容($content)の後に、先ほど入力したhtmlを追加して終了です。
次のように変更することで、記事の前にhtmlを追加できます。

PHP

	return $output . $content;

10行目は投稿ページ以外のときに処理され、記事内容($content)に手を加えずに終了しています。

必ずテスト環境でテストをしてください

プラグインを自作してWordPressをカスタマイズする方法は、テーマのfunction.phpを書き換えるよりも安全です。
しかし場合によってはサイトに不具合が出てしまうことには変わりありません。

修正を加える前に、サブドメインなどで同じWordPressテーマを使用したテストサイトを作成し、まずはそちらでテストを行ってください。