謎の奇病に侵されたYu-ichiです
WordPressを使っていてショートコードをネストしたり、変数を使ったりして効率よく作業をしたいと思いませんか?
ショートコードを入れ子にするやり方は少々面倒ですが、プラグインにしている方もいらっしゃるので是非使ってみてください。
さて、今回はショートコードに変数を使う方法です。
こちらはネストに比べて難易度が極端に下がります。
例えば、カスタムフィールドに入れた内容をショートコードの変数として使いたい場合や別のショートコードを実行して出た値を違うショートコード内で使いたい場合に使えます。
変数を使う方法は
echo do_shortcode(‘[shortcode hoge=‘ . $val $ .’ ]’);
といった感じで、変数「$val」をねじ込むだけです。
今回私が使用したケースですが、
あるプラグインAはショートコードを使って記事毎にユニークな値を出力します。別のプラグインBはショートコードに特定の値を入れると、出力する内容が変化します。
このプラグインBの値にプラグインAでショートコードを使って表示する値を入れたかったのです(謎)
なのでまず、プラグインAの表示内容を変数にいれ、プラグインBに変数をセットする方法で解決しました。
$val = do_shortcode(‘[plugin-A]’);
echo do_shortcode(‘[plugin-B number=‘ . $val . ‘ ]’);
原始的なやり方ですが、誰が見てもシンプルで分かりやすい方法だと思います。
使う機会があれば試してみてください