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():投稿のカスタムフィールドの値(メタデータ)を取得
参考サイト
今回の内容は下記のサイトを参考にしています。