• かちびと.net

    お手軽WordPress Tips:プラグインを使わず投稿記事や固定ページの好きな場所に任意のPHPファイルを挿入、実行できるようにする方法です。ショートコードを使って投稿や固定ページでPHPを実行できますよ。

    Kudos for

    WordPress jQuery
  • About This

    Web制作に役立つTips、チュートリアル、、マーケティングに役立つ情報などのリソースをほぼ毎日配信しています。宜しければメモ代わりにご利用下さい。詳しい情報はAbout me またはhumans.txtをご覧下さい。

    Kachibito.net is a community-based website for web designers and developers. The site includes a popular weblog, a design gallery, a open source software, design tips, and the various web-news.

  • Links

お手軽WordPress Tips:プラグインを使わず投稿記事や固定ページの好きな場所に任意のPHPファイルを挿入、実行できるようにする

スポンサーリンク

WordPressで、記事や固定ページの好きな場所で、ショートコードを使って別途用意したPHPファイルを実行できたら便利だと思いませんか?いつもはほとんど需要のないカスタマイズを取り上げているこのお手軽WordPress Tipsのコーナーですが、今日のはわりと需要があるんじゃないかなと思います。

WordPressをCMSとして使っていると、固定ページ単位で別のコードを実行出来ると凄く楽になるかと思います。いちいちID単位で条件分岐させて include()で挿入、というのも非常に面倒だし、ファイルの管理も面倒ですしね・・

前置きが長くなりましたが、記事や固定ページの好きな場所で任意のPHPファイルをショートコードでincludeさせる方法です。

コード

例によってfunctions.phpに以下を記述します。

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

add_shortcode('myphp', 'Include_my_php'); 

あとは、実行したいPHPファイルをショートコードで指定するだけ。

[myphp file='searchform']

ファイル名を指定すれば$file.phpに挿入され、そのファイルの中身が投稿内で実行されます。ob_start()で出力バッファリングをオンにして実行内容を返す、という感じ。上記は利用中のテーマ内にあるsearchform.phpを読み込んだ例です。以下のように実装出来ました。


searchform.phpの中身は検索用のフォームってだけなんですが、その中身が記事内で実装されました。分かりにくい例ですみません。

読み込むPHPファイルをフォルダごと管理する

たいていはファイルが多くなるのでフォルダで管理したほうがいいと思います。
以下のようにフォルダを指定してください。

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

myphpfilesというフォルダで管理している例です。

これで好きな場所で好きなことがと出来ますね!スライド入れたり特定のカテゴリのアーカイブを入れたり、アイデアはいくらでもあるかなと思います。

注意点

セキュリティ上、マルチユーザーで運営しているのでしたら、必ず管理者以外は出来ないように工夫してください。ご利用は自己責任で宜しくです。

コードは以下を参照しました。プラグインにしたほうがいいならプラグイン化してください。

via:How to Develop a PHP File Include Plugin for WordPress

URL :
TRB :

Ads

Posts

Contact

Services