WordPressの固定ページでPHPを実行する

公開:2014-11-03 / WordPress 制作・開発 / , , , ,
更新:2017-02-08

WordPressの投稿や固定ページの中でPHPを実行させたいときはないでしょうか。

管理画面から、phpのコードを記事に記述して保存しても、

 

PHPの場合

<?php print “hello world!”; ?>

 

といった具合に、そのまま表示されてしまうと思います。

 

ここでは投稿・固定ページでPHPを実行させる方法を紹介します。

 

実行方法

投稿・固定ページに記述されたPHPを認識して、実行させるプラグインがあるのでそれを使う方法です。

PHPを実行させるプラグインは、

  • runPHP
  • Exec-PHP
  • Executable PHP widget

 

などいくつかありますが、調べて見たところ「Exec-PHP」がテキストウィジットでも利用できるとのことなので、こちらを紹介いたします。

(補足ですが、ウィジットで利用したいだけなら「Executable PHP widget」なんていうプラグインもあります。また、runPHPは、JavaScriptを実行させるようにすることも出来ます)

 

設定自体は簡単ですが、いくつか注意事項があるのでプラグインを入れただけで満足しないようにしましょう。

 

まず、プラグインをインストールしましょう。

管理画面のプラグインへアクセスし、新規追加から「Exec-PHP」で検索してインストールします。

Exec-PHP

 

もしくは、https://wordpress.org/plugins/exec-php/よりファイルをダウンロードしてサーバのpluginsフォルダにアップロードします。

exec-php

 

インストール後は、有効化をしてください。

 

有効化が終わったら、早速、記事投稿画面にアクセスしましょう。

そうすると、以下の警告文が表示されていると思います。

error

 

この警告文は、訳すと

 

PHPコードが含まれていませんので警告画面が出ていますが無視して消すこともできます。

この警告文は、ユーザープロフィールでオフに出来ます。

 

というようなことが書いてあります。

まぁ、そのままでもよいのですが、毎回出てくると気になるのでオフにしてしまいましょう。

 

管理画面 > ユーザ > あなたのプロフィール の一番下の「Exec-PHP Settings Disable WYSIWYG Conversion Warning」にチェックを入れてプロフィールを更新してください。

check

 

これで警告文が表示されなくなりましたので、投稿フォーム戻って先ほどのhello worldのPHPを記述して公開してみましょう。

 

っと、言いたいところですが、ここに注意事項があります。

 

PHPを記述する際は、必ず「テキスト」モードにしてください。

ビジュアルモードのままだと、PHPの記述がそのまま表示されてしまいます。

text

 

問題なければ、以下のとおりphpが実行されていると思います。

hello

 

補足

この記事を書く際に、キャプチャ取りながら試したときに、

 

Parse error: syntax error, unexpected T_STRING in/XXXXX/wp-content/plugins/exec-php/includes/runtime.php(42) : eval()’d codeon line 1

 

というエラーが表示されました。

どうもPHPの記述に全角スペースなどのゴミが入ってしまっていたようです。

パスが丸見えなので、PHPのエラーを非表示にするなどしておいたほうが良いかと思います。

エラーを表示させたくないときは、

 

<?PHP error_reporting(0); ?>

 

と記述しておけばOKです。

 

ただ、このままだと不具合が発生したときにどういうエラーなのかがわからないので、注意してください。

 

他にも、プラグイン「tinyMCE」を利用していると<や>が&lt;や&gt;に勝手に変換されてしまうので、一緒に使う場合は、注意が必要みたいです。

(回避策はあるみたいなのでgoogle先生に尋ねてもらえればと思います。

 

Author:yukio iizuka
プロフィール画像
フリーランスとしてUX視点で業務支援しています。 HCD-Net認定 人間中心設計専門家 LEGO®︎ SERIOUS PLAY®︎ メソッドと教材活用トレーニング修了認定ファシリテーター Hi-Standard好きです。
http://yukioiizuka.com
mislead
MISLEADの記事に共感いただけましたら
いいねをお願いします。

コメント一覧

コメントはありません

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください



       

© yukio iizuka All Rights Reserved...