WordPress

ACFでショートコードを埋め込む方法

WordPress
この記事は約2分で読めます。

WordPressのカスタマイズをしているとフォームやSNSの埋め込みなど、カスタムフィールドに入力した内容を表示させたいと思うこともあると思います。

専用のテキストエリアを作成し、その内容を通常の記述で呼び出し…とすると、ショートコードのテキストそのまま出てきてしまいます。

今回は、カスタムフィールドでショートコードの入力欄を作成する方法を解説します!

カスタムフィールドを作成する

まずはショートコード用のカスタムフィールドを作成します。
この段階では特別な設定をする必要がなく「テキスト」の項目で作成してあればOKです。

カスタムフィールドの出力記述をする

作成したカスタムフィールドの内容を表示させます。ショートコードを埋め込む際に工夫が必要になるのはここの記述方法です。
通常の記述ではなく、下記のように記述します。

<?php echo apply_filters('the_content', get_post_meta($post->ID, '作成したカスタムフィールド名', true)); ?>

コードの解説

この記述にすることで「取得したカスタムフィールド値をthe_content()で入力した時と同じように扱う」という指定ができます。

  • apply_filters(‘the_content’, …):the_content()と同じように扱い、ショートコードを実行可能な形式にする
  • get_post_meta():投稿のカスタムフィールドの値(メタデータ)を取得

参考サイト

今回の内容は下記のサイトを参考にしています。

Advanced custom fieldでショートコードを入力したい
カスタムフィールドでショートコードを使いたい

タイトルとURLをコピーしました