【WordPress】カスタムフィールドでショートコードを利用できる状態にする例|apply_filters()
今回は、WordPressのカスタムフィールドの項目内でショートコードを利用できる状態にする方法となります。
カスタムフィールドでショートコードを利用できる状態にする例
カスタムフィールドの項目内で、ショートコードを利用できる状態にするコードの例は以下となり、カスタムフィールドの値を出力する箇所に記述します。
<?php
$value = get_post_meta( get_the_ID(), 'sample_field', true );
echo apply_filters( 'the_content', $value );
?>
apply_filters()について
apply_filtersでは、第1引数に指定したフィルターフックを、第2引数に指定した値に適用して、その値を返します。
上記例では、指定したカスタムフィールドの値に対して、フィルターフックthe_contentを適用させます。それにより、カスタムフィールドの項目内でも、ショートコードなど本文で利用できる機能が適用され出力されます。
また、カスタムフィールドの値を取得する関数については、以下のリンク先を参考にしてみてください。
apply filters()の引数
apply filters()の引数はそれぞれ以下となります。
apply_filters( $tag, $value, $var );
- $tag(必須)
- 適用させるフィルターフック名を指定。初期値はなし
- $value(必須)
- 第1引数に指定したフックを適用する値を指定。初期値はなし
- $var(省略可)
- フィルターフックへ渡す変数を指定(複数指定可)。初期値はなし
本文の直前や直後にカスタムフィールドの値を出力する場合
本文の直前や直後にカスタムフィールドの値を出力する場合などでは、functions.php内でフィルターフックthe_contentを使用し、本文にカスタムフィールドを含めることで、ショートコードを利用できる状態にする方法もあります。
詳しくは以下のリンク先を参考にしてみてください。