自作ショートコードで記事・固定ページにPHPファイル(定型文)をインクルードする

カテゴリー別人気ランキング

ショートコードとは

WordPressではショートコードを自作して、好きなときに使うことができます。ショートコードとは、「functions.php」に関数を作成し、それを add_shortcodeによって呼び出して表示させる仕組みです。

定型文や補足説明文、広告タグのように、記事の中で頻繁に利用する文章やHTMLコードは別ファイルに用意しておき、複数ページで共通に利用できるようにしておけば、 同じ文章を何度も記事に書くよりは、はるかに手間が省け、メンテナンスも1ヵ所の修正で済むので楽です。

簡単なショートコードのサンプル

記事の最後に「ライセンス表示」をする一番簡単なショートコードです。ショートコードにすれば、年が変わってもショートコード内の西暦年を変更するだけで、タグを記述したすべての記事ページに変更が適用されるのでメンテナンスが楽になります。

投稿の編集と結果の表示

編集画面で、記事中の挿入したい位置に、ショートコードタグ [mytag] を記述します。
※タグ「[」,「]」表記は半角だとショートコードタグになってしまうので、全角文字にしています。コピー&貼り付ける時は半角文字に変更してください。

ショートコードタグの記述

記事中のショートコードタグを記述した位置に「ライセンス表示」が表示されます。

挿入結果

年号の自動更新とブログのリンク追加

コピーライトの年号を、毎年年初に更新をせずに済むよう自動で更新させるには、date(‘Y’);という命令を使います。これで最新の4桁の西暦に置き換わります。さらに、ブログのリンクを追加します。get_bloginfo(‘name’);はブログ名に、get_bloginfo(‘url’)はブログURLに置き換わります。

変更箇所は、上段のreturn文を下段のreturn文に置き換えればOKです。

子テーマを使ってPHPファイルをインクルードする

サンプルは定型文を、ショートコードに直接記述しているので、1つの定型文しか扱えませんが、phpファイルにして、そのファイルを読み込ませるようにすれば、1つのショートコードで複数の定型文を扱えるようになります。

ショートコードは、通常、テーマの functions.php に設置しますが、これだとテーマをアップデートするとショートコードやphpファイルも消えてしまうので、子テーマに設置すると便利です。方法は、

  • 子テーマの functions.php にショートコードを追記
  • 定型文phpファイル(sample.php)を、子テーマフォルダにアップロード
  • 記事中の挿入したい位置に、ショートコードタグ:[phpinclude file=’sample’]を記述

functions.php にショートコードを追記

子テーマの functions.php 末尾に、次のショートコードを追記します。追記の方法はこちらを参考にしてください。

http://wp.kikuchisan.net/wordpress-quicktag.html

定型文phpファイルの作成とアップロード

定型文(テキスト、php、htmlコード、JavaScriptなど)を記述した sample.php を、サーバーの子テーマフォルダにアップロードします。

「簡単なサンプル」の表示内容を、phpファイルに記述する時は、php表記に改める必要があります。php表記に変更後の内容は、下記のようになります。

get_bloginfo(‘name’) と bloginfo(‘name’) の違いは、

  • get_bloginfo(‘name’):「取得」のみ
  • bloginfo(‘name’):「取得」と「出力」

を行います。また、echo date(‘Y’) で date(‘Y’) を出力します。

ショートコードタグの記述

記事(投稿・固定ページ)の挿入位置に、ショートコードタグ [phpinclude file=’sample’] を記述します。このタグが見つかると、タグに置き換えて sample.php をインクルードします。

ショートコードタグのファイル名を省略( [phpinclude] )した場合は、default.php を挿入します。

複数の定型文がある時は、sample1.php、sample2.php、sample3.phpとphpファイルを複数用意し、ショートコードタグのファイル名をsample1、sample2、sample3に変更すれば、1つのショートコードで複数の定型文の挿入が可能です。

定型文phpファイルをフォルダにまとめたいとき

複数の定型文phpファイルを、子テーマの「myfolder」フォルダにまとめて管理したい場合は、以下の変更を行います。

include(STYLESHEETPATH . “/$file.php”);
      ⇓
include(STYLESHEETPATH . “/myfolder/$file.php”);

テキストウィジェットの中でショートコードを使うには

上記ショートコードは、一部の記事に定型文を挿入するときに使いますが、全記事に定型文を挿入したい時は、ショートコードを「テキスト」ウィジェトに記述できるようにすると、固定ページを除いた過去記事を含む全記事に、過去記事を変更することなく、後からでも定型文を挿入できるので便利です。

「テキスト」ウィジェットの中でショートコードを使う方法はこちらです。

WordPress テキストウィジェットでショートコードを使う方法
はじめに Simplicityは「記事本文上」「下」と「投稿SNSボタン上」「下」にウィジェトエリアが設けられていています。ここに「テキス...
スポンサーリンク
wp_レクタングル (大)
wp_レクタングル (大)
☆最後までお読みいただきましてありがとうございます。
☆この記事がお役に立ちましたらシェア・フォローしていただけると嬉しいです!