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>等は無害化しません。

よって、これは入力データのエスケープ処理には利用できません。

 


フィルターフック&関数
  • header_video_settings
  • manage_pages_columns
  • manage_posts_columns
  • mce_buttons
  • mce_external_plugins
  • redirect_canonical
  • the_content
  • tiny_mce_before_init
  • wp_insert_post_data
  • apply_filters()