とっちゃん@nyanco! です。
今回はWordPress(ワードプレス)の「ショートコード」を「カスタムフィールド」で使えるようにする方法の備忘録です。
デフォルトでは「カスタムフィールド」に「ショートコード」は使えない
「ショートコード」とっても便利だけど、もしかして「カスタムフィールド」では使えないのですかにゃ〜?
▼「ショートコード」を「カスタムフィールド」に入力すると、[test] のように入力したそのままで表示されてしまいます。
そう、WordPressのデフォルトでは「カスタムフィールド」に「ショートコード」は使えない仕様となっています。
「カスタムフィールド」に「ショートコード」を使えるようにする方法
▼通常、「カスタムフィールド」を出力したい場合は、テーマファイルの「カスタムフィールド」を出力したい箇所に下記のように記述します(例として「custom_field」というフィールド名のカスタムフィールドを出力しています)。
<p>
<?php echo get_post_meta( get_the_ID(), 'custom_field' ,true ); ?>
</p>
▼「ACF(Advanced Custom Fields)」で作成した「カスタムフィールド」ならもっとシンプルです。
<p>
<?php the_field('custom_field'); ?>
</p>
ちなみに「the_field()」はACF専用の関数ですにゃ〜
▼「ショートコード」が使えるようにするには、下記のように変更します。
<p>
<?php echo apply_filters('the_content', get_post_meta( get_the_ID(), 'custom_field', true));?>
</p>
ACF専用の関数「the_field()」だとできないのでWordPress関数の「get_post_meta」を使いますにゃ〜
これで、「カスタムフィールド」にも「ショートコード」の内容が出力されるようになります!
参考にさせていただいたサイト様
ありがとうございますにゃ〜
「ショートコード」が勝手にpタグで囲まれてしまう時の対処法
「カスタムフィールド」で「ショートコード」が使えるようになったけど、今度は「ショートコード」で出力した内容が勝手に「pタグ」で囲まれてしまうという現象に悩まされましたが、下記サイト様の記事で解消しました!ありがとうございます!
おわりに
そもそも「カスタムフィールド」に「ショートコード」を使いたいなんてニッチなニーズなのかも知れませんが、「ショートコード」を多用している方には参考になるかと!
本記事がどなたかの参考になれば幸いです。
今回は以上となります。
最後まで読んでいただきましてありがとうございました!
それではまた〜✧٩(ˊωˋ*)و✧
コメント
求めていた情報で参考になりました。
ありがとうございました!
コメントありがとうございます!
お役に立てたようで良かったです^^
コメント欄でiframeを使えるようにできますか?
具体的にはYoutubeの動画を埋め込みたいと思っています。
プラグインをいくつか試してみたのですが、実現できません。
もし、おわかりでしたら教えてください!