2016/10/20

WordPressでPHPのモジュールをShortcodeで呼び出す方法

WordPressでシステム入るとは言え、デザインがしっかり入ってくるとハードコーディングっぽくなるのは常なのですが、コンテンツの途中に動的なコンテンツ入れたい時とかあるじゃないですか。そういう時はやはりShortcode使いますよね。

ただ、これそのままIncludeしてしまうと駄目だった。こちらを参考にさせていただきました。

[WordPress]ショートコードでPHPテンプレート(ファイル)を呼び出す | 株式会社bridge

function shortcodePost() {
    extract(shortcode_atts(array('file' => 'default'), $params));
    ob_start();
    include (TEMPLATEPATH . '/module-name.php');
    return ob_get_clean();
}
add_shortcode('post', 'shortcodePost');

これでmoduleが生成するHTMLキレイに読み込めました。便利。久し振りのWordPressネタでした。

ひとり仕事: フリーランスという働き方
(2012-10-5)
売り上げランキング: 14,705
100円
WordPressデザインレシピ集
狩野 祐東
技術評論社
売り上げランキング: 197,569
WordPress 高速化&スマート運用必携ガイド
こもりまさあき 岡本渉
エムディエヌコーポレーション
売り上げランキング: 435,263