投稿記事の上や下に毎回定型文を入れる、プラグインなしで!

2020年4月13日WORDPRESSWORDPRESS,ウィジェット,プラグイン,定型文,無し,記事上部,記事下部

WORDPRESSでブログを作成している多くの人が感じるのではないでしょうか。
「記事を投稿する際に、記事の文末に、毎回同じ文章(定型文)を入れたい!」と。

例えば、初めてブログを見る人へ自己紹介ページへの誘導を記事の最初に、ブログランキングのタグを記事の最後に入れるといったことが良く見受けられます。

このように記事に定型文を入れる方法を調べると、多くの便利そうなプラグインが紹介されています。
便利と断言しないのは、作者はこのようなプラグインは入れていないからです。

プラグイン多用は管理が面倒だからです。

ここでは、プラグインを入れずに定型文を記事の上下に入れる方法を紹介します。

【目的】記事の上下に定型文を入れる(プラグインを使用せず)

プラグインを使用しないで実現するためには、ある程度phpを理解、もしくは操作する必要が出てきます。
この後紹介しますが、環境やテーマによってはphpも知らずにできる場合があります。

方法は2つ。

  • ウィジェットで操作する
  • 個別記事のphpに追記する

方法1 ウィジェットで操作する

簡単に言うと多くあるウィジェットの追加先(ウィジェットエリア)の中から、記事内上部や記事内下部を選び、そこにテキストやカスタムHTMLを追加する。
これでできます。

私が使用しているテーマLuxeritasでは、ウィジェットエリア一覧に、記事下ウィジェットなどありましたのでラッキー★

テーマによっては、記事内のウィジットエリアが無いものもあるので、ウィジェットエリアに追加する必要があります。
その為に、少しだけphpをいじっていきます。

既に記事内上部などがウィジェットエリアに出ている人はこの項目は飛ばしてください。

まずは、使用しているテーマの子テーマを編集します。function.phpを表示します。
そこで、下図のコードを記載します。

add_action('widgets_init', 'register_mywedgets');
function register_mywedgets(){
	
// ウィジェットエリアの定義
register_sidebar( array(
	'name' => '記事下部ウィジェットエリア',
	'id' => 'post_bottom',
	'description' => '記事下部に表示する' ,
	'before_widget' =&gt; "<div>",
	'after_widget' =&gt; "</div>",
	'before_title' =&gt; '<h3>',
	'after_title' =&gt; '</h3>',
) );
}

そうすると、先ほどのウィジェット一覧で、name => XXXXXで書いたXXXXXの名前でウィジェットエリアが増えました。

後はテキストやカスタムHTMLなどを選んで追加します。
この作業は他のウィジェットエリア同様です。

残る作業は、この追加したウィジェットエリアをどこで表示する(呼び出す)かを記載しなければなりません。
呼び出すコードは以下です。

<?php dynamic_sidebar('ウィジェットエリアのID'); ?>

今回は記事の一番下に表示したいので、該当するphpの場所にこのコードを追加します。

本来はサイドバーがあるかチェックが必要ですが、ここでは割愛します。

記事本文を呼び出しているのがsingle.phpのthe_content();です。
ただ、これはテーマによって少しずつ異なるので、テーマの説明などを参考にし該当場所を探してください。

私が使用しているテーマLuxeritasは、the_content();はコメントアウトされていますが、この次のコードが本文を呼び出している箇所になります。

これで無事にウィジェットが表示されました。

方法2 個別記事のphpに追記する

もう一つの方法は、定型文をhtml形式でsingle.phpに直接書く方法です。
方法1でdynamic_sidebarを書いた部分に書き込みます。

これはブログランキングのタグを記載しています。

方法1の手順を理解できていれば簡単にできる方法です。
ただ、記載したい内容が変わるたびにファイルを操作することは面倒ですし、リスクを増やすことになるので、できれば方法1のウィジェットでやりたいところですね。

ブログランキングに参加しています。