小説家になろうにて「キモオタでギャルゲー、それって何の罰ゲーム!?」連載中!

WordPressの記事やテキストウィジェットの中でPHPを使えるようにする

カスタマイズ&プラグイン
この記事は約3分で読めます。

質問者の写真

テキストウィジェットに PHPの実行コード 書いても 動かないよ~
 
解答者の写真
それWordPressの仕様だから
だけどPHPファイルをテキストウィジェットにインクルードしちゃえばショートコードで実行できるわ
一度設定すれば簡単よ
 

本記事ではPHPファイルをインクルードしてウィジェット化する方法を紹介します。
この方法を知っていると、サイドバーへのテキストウィジェット設置のみならず、トップページレイアウトの幅も広がります。

以下は子テーマの使用を前提に記します。

スポンサーリンク
この記事を読む方へのオススメ

導入例

サイドバーウィジェット

本サイトで仕様しているテーマLuxeritasには関連記事のサイドバーウィジェットがありません。
そのためテーマから記事末尾の関連記事コードを抜き出し、ウィジェット化しています。

トップページレイアウト

本サイトで用いていた過去のレイアウトです。
当時はLuxeritasでタイル型レイアウトを採用していなかったことから自分で作りました。

各カテゴリをウィジェット化して、固定ページに貼り付けています。
コード直接さわるよりも柔軟性あっていい感じです。

スポンサーリンク

導入方法

1.ショートコードを使えるようにする

既にしている方は飛ばして下さい。
funcitons.phpに次の記述をします。

add_filter('widget_text', 'do_shortcode');

2.子テーマにファイルフォルダを作る

別に作らなくてもいいのですが、あった方が整理に便利です。
ここではmyphpfilesという名前にします。

3.インクルードできるようにする

functions.phpに次のコードを記述します。

function Include_my_php($params = array()) {
 extract(shortcode_atts(array(
 'file' => 'default'
 ), $params));
 ob_start();
 include(STYLESHEETPATH . "/myphpfiles/$file.php"); 
 return ob_get_clean();
} 
add_shortcode('myphp', 'Include_my_php'); 

4.先のコードをPHPファイルにする

ここではhoge.phpという名前にしておきます。
テキストファイルに先のコードを記述し、UTF-8形式・拡張子PHPで保存。
FTPなどで、myphpfilesフォルダにアップします。

5.テキストウィジェットを設置し、ショートコードを記述する

ショートコード[myphp file=’hoge’]を記述します。
”[”は半角に変えて下さい。

スポンサーリンク

間違えやすいポイント

この方法を紹介している記事は多いです。
しかしやってみたけど動かなくてハマったという人もいるかもしれません。

それは他サイトの記事のコードがこうなっているから。

include(get_theme_root() . '/' . get_template() . "/$file.php");

私もハマった1人。
当時の話ですが、どこのサイトの記事を見てもこうなってました。

動かない理由は、上記が「親テーマだけ」の使用を前提にしたコードだから。

解答者の写真
子テーマを使う場合、get_template()は親テーマのディレクトリを返しちゃうの
 

 

関数リファレンス/get template - WordPress Codex 日本語版

試しに親テーマにmyphpfilesフォルダを入れてみてください。
動きますので。

子テーマを使う場合はこちらが正解となります。

include(STYLESHEETPATH . "/myphpfiles/$file.php");
スポンサーリンク

まとめ

解答者の写真
本当に便利だから試してみてね!
 
アドセンス有りでもPageSpeed Insightで100点満点!

超光速サイト実行環境KUSANAGI&WEXAL。
コスパ抜群のレンタルサーバーConoHa。
もっと知りたい方はボタンをクリックしてください。
特集記事の目次が開きます。

この記事を書いた人

広島市内のパチンコホール勤務。
3号機時代からのパチンカス。
ADHD、精神障害者手帳3級所持。
慶應義塾大学商学部卒、専攻はマーケティング(広告・宣伝)
国家一種試験経済職の資格で公安調査庁に入庁。
在職時は国際テロ、北朝鮮を担当。
「小説家になろう」の底辺作者。
WordPress記事は素人の備忘録です。

天満川鈴をフォローする
カスタマイズ&プラグイン
スポンサーリンク
きもおたねっと。
タイトルとURLをコピーしました