Exec-PHPを使わずに投稿ページや固定ページでphpを使いたい

Exec-PHPを使わずに投稿ページや固定ページでphpを使う Wordpress

Exec-PHPを使わずに投稿ページや固定ページでphpを使う
投稿ページや固定ページに直接phpコードが書けるプラグイン「Exec-PHP」は、セキュリティ面に問題があるようなので使わない方が良い。しかし、phpコードを投稿ページや固定ページに書きたい時が出てくるので、外部のphpファイルをインクルードする方法があったので書いたコードのメモ書きです。

[adsense]

投稿ページや固定ページ内にPHPファイルをインクルードするコード

function.phpに下記のコードを追加してショートコードを使って実現する。

[crayon]
/* 記事内にphpファイルをインクルード */
function Include_my_php($params = array()) {
extract(shortcode_atts(array(
‘file’ => ‘default’
), $params));
ob_start();
include(get_theme_root() . ‘/’ . get_template() . “/myphpfiles/$file.php”);
return ob_get_clean();
}

add_shortcode(‘myphp’, ‘Include_my_php’);
[/crayon]
※ phpファイルを格納する専用フォルダ(myphpfiles)内にphpファイルは作成する。
※ フォルダは適用しているテーマフォルダの直下に作成する。

投稿ページ・固定ページに書くショートコード

仮に’test.php‘を読み込む場合は下記の様にショートコードを書く
[crayon]
[myphp file=’test’]
[/crayon]

まとめ

プラグインを自作する程でもない時に便利です。カスタムフィールドを変数で使えるかやってみましたが問題なく動作しました。

WordPressのテーマカスタマイズとかプラグイン作成にオススメの本

コメント

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