PHP
WordPress
wp
ヒアドキュメント
備考録

PHP ヒアドキュメント / WP ショートコード 備忘録

なぜWPショートコードを作成することになったのか

既存ファイル(特にスタイル)に依存しない独立したコードを使いまわしたい
例えば既存の記事ページ複数に渡り、新たなエリアを追加したい時などに、CSSが干渉して、記事によって無駄な記述が増えてしまったり、WPのタグ自動挿入機能で無駄な改行タグに邪魔されることがある。
こういった事象を解決するために、ショートコードを作成する。

(例1)function.phpに直接記述する

function.php
/**
 * インフィードエリアを呼び出すショートコード追加
 * @param string $str
 * @return string
 */
function shortcode() {
$str=<<<eot
    <div class="infeed_area01">
        <a href="https://www.aaa.jp/bbb/">
            <img src="/common/img/contents/point/infeed01.png" alt="">
            <p><span>関連リンク</span><br>備忘録総合ランキングTOP5</p>
        </a>
    </div>
eot;
    return $str;
}
add_shortcode('infeed_area', 'shortcode');
?>

(例2)function.phpからincludeして読み込む
手順1 : function.phpの直下にあるfunctionsディレクトリの中に上記ショートコードの記述をしたファイルを作成

手順2 : functions.phpでincludeの記述

function.php
foreach(glob(TEMPLATEPATH."/functions/*.php") as $file){
    require_once $file;
}

*補足
glob()を使用してfunctionsディレクトリの中の全テンプレートファイルをワイルドカード指定で読み込み