WordPressのショートコードで変数を使用する

WordPressのショートコードで変数を使用する

WordPressでInstagram Feedというプラグインがある。
このプラグインは便利なショートコードがいくつかあって、例えば以下のようなショートコードを使用するとハッシュタグ#sunが含まれる投稿を取得することが出来る。

[instagram-feed type=hashtag hashtag="#sun"]

これを固定ページなどで使用する場合はこんな感じで挿入する。

<?php
echo do_shortcode("[instagram-feed type=hashtag hashtag=”#sun”]");
?>

で、ここからが本題。

今回やりたかったのは投稿ページでAdvanced Custom Fieldsを利用して入力した項目を変数にしてショートコード内に記載するということ。
これが意外と時間がかかってしまったので忘れないようにメモ。

結論から言うと2通りの書き方で解決。

一つ目。この書き方で#hoge_○○の部分にカスタムフィールドの値を突っ込める。
これで#hoge_○○が含まれたInstagramの投稿を取得出来る。

<?php
//カスタムフィールドの値を取得
$tag = get_field('フィールド名');
//#hoge_○○の部分に取得した値を入れる
echo do_shortcode("[instagram-feed type=hashtag hashtag=\"#hoge_$tag\"]");
?>

二つ目。一つ目に比べて余計なものが付いてたので少し記述を変更。
これで#hoge_○○_hogeが含まれたInstagramの投稿を取得出来る。

<?php
//カスタムフィールドの値を取得
$tag = get_field('フィールド名');
//#insta_○○_の部分に取得した値を入れる
echo do_shortcode('[instagram-feed type=hashtag hashtag="#hoge_'.$tag.'_hoge"]');
?>

変数の周りにアンダーバーとか#とかついているとややこしいけど、他のケースでも使えると思うので参考になれば。

SPONSORED LINK

CONTACT

ご意見やご感想、お仕事のご依頼など
お気軽にご連絡ください。

CONTACT FORM