PR

WordPress で共通で使う部分を上手い事インクルードしたい場合の対処方(ショートコード編)

wordpress
記事内に広告が含まれている事があります。

※今回は FTPが解る、テキストエディタで文字コードを指定する事が出来る。自分の使っているテーマのディレクトリ位置が解る。方が対象です。

WordPressで企業系ページを作っていると、ヘッダ、サイドバー、フッタ以外にも、同じ項目を使い回したい場合があります。

やり方は色々とあるかと思いますが、今回はショートコードを書いてしまう形での対処方を紹介します。

medium_2344227026
photo credit: D.Clow – Maryland via photopin cc

functions.php にショートコードプログラム

現在利用しているテーマフォルダの中にある functions.php にショートコードプログラムを書きます。

 
function myincludeFunc() { 
   $rtn = include 'myinclude.php'; 
   return $rtn; 
} 
add_shortcode('myinclude', 'myincludeFunc'); 

 

名称「myinclude」や、myincludeFunc は好きな名前に変えてもらって結構です。

インクルードするファイルを作成

インクルードさせたい HTML を記述するファイルを作成します。

名称は何でも構いません。解りやすい名前を付けましょう。

今回は myinclude.php として作ります。

ファイルを作るのも、現在自分が使っているテーマフォルダに作るのが便利です。新規に作成する場合、文字コードは「UTF-8」改行コードは LF にしておきましょう。

 
$myinclude = <<< EOF 
   [ここに普通に HTML を書く] 
EOF; 
return $myinclude; 

 

を書き入れます。

[ここに普通に HTML を書く]の所には、自由に HTML を書き入れて下さい。改行があったり「”」ダブルクォートがあったり「’」シングルクォートがあっても平気です。

「ヒアドキュメント」と言って、

<<< EOF
から、
EOF;

を1つのドキュメントとして扱います。今回はそのドキュメントを変数「$myinclude」に代入します。

return $myinclude; とする事により、このファイルを呼ぶ inlude で直接変数にヒアドキュメントを入れる事が可能になります。

インクルードしたい箇所にショートコードを記述する

投稿や固定ページの編集を「テキスト」にして「[myinclude]」を書き入れる事により、myinclude.php に記述したヒアドキュメントが表示されます。

スクリーンショット 2014-03-11 13.42.29

ちょっと編集したい場合は myinclude.php を編集すれば、すべてのページに反映されますので、メンテナビリティーが向上します。

まとめ

WordPress、とても便利ですね。しかし、たまにかゆい所に手が届かない場合があります。

そんな時は独自に拡張し、より便利に利用出来るようになる。これもまた、WordPress の良い所。

少しずつ手をかけて行き、自分好みの WordPress にして行きたいです。

コメント

タイトルとURLをコピーしました