2024年06月13日
WP関数:apply_filters()
この関数の説明
WP関数の apply_filters() は、指定したフィルターフック名の関数を実行します。
新しいフックフック名を指定すると、新しいフィルターフックを作成する事もできます。
新規追加は apply_filters()とは を参照して下さい。
関数
apply_filters( $tag, $value, $var ... )
パラメータ
$tag(文字列) (必須)
フィルターフック名を指定します。
新規の名前の場合は、新しいフィルタフック名になります。
$value(mixed) (必須)
フィルターフックが要求する変数を指定します。
$var(mixed) (オプション)
フィルターフックに渡す追加の変数を指定します(複数指定可)
戻り値
フィルターフックが処理した結果が戻ります。
事例
①WordPress関数のthe_content()と同じエスケープ処理を実行します。
the_content()はコンテンツデータをエスケープ処理をして表示してくれますがget_the_content()はDBからコンテンツデータを取得しただけです。
よって、このデータをechoする場合は下記の様な処理をします。
<?php $data = get_the_content(); // コンテンツを取得する // 取得したデータをカスタマイズする $data = apply_filters('the_content', $data ); // カスタマイズしたコンテンツをエスケープ処理する echo $data; // 書き出す ?>
■上記はコンテンツを取得してカスタマイズしていますが、同じ事はフィルタフック:the_contentでも可能です。
参考情報
メモ
上記の apply_filters('the_content', $data ) のエスケープ処理はHTMLデータのエスケープ処理なので<script>等は無害化しません。
よって、これは入力データのエスケープ処理には利用できません。