wp_kses_post()


WordPressのwp_kses_post()関数は、投稿内容やテキスト内のHTMLタグをサニタイズするために使用されます。この関数は、許可されたHTMLタグと属性のみを保持し、それ以外のものを削除します。これにより、セキュリティリスクを軽減しながら、必要なHTMLタグを保持することができます。

構文

wp_kses_post( string $content );
  • $content(string) — サニタイズするテキストまたはHTMLコンテンツ。

例1: 投稿内容のサニタイズ

投稿内容をサニタイズして表示する基本的な例です。

<?php echo wp_kses_post( get_the_content() ); ?>

例2: カスタムフィールドのサニタイズ

カスタムフィールドの内容をサニタイズして表示します。

<?php echo wp_kses_post( get_post_meta( get_the_ID(), 'custom_field_key', true ) ); ?>

例3: コメント内容のサニタイズ

コメント内容をサニタイズして表示します。

<?php echo wp_kses_post( get_comment_text() ); ?>

例4: テキストウィジェットのサニタイズ

テキストウィジェットの内容をサニタイズして表示します。

<?php echo wp_kses_post( get_option( 'widget_text' ) ); ?>

例5: ショートコード内での使用

ショートコード内でwp_kses_post()を使用して、出力をサニタイズします。

function my_shortcode() { return wp_kses_post( '<div>サニタイズされたコンテンツ</div>' ); } add_shortcode( 'my_shortcode', 'my_shortcode' );

例6: フォーム入力値のサニタイズ

フォームから送信されたデータをサニタイズします。

<?php $sanitized_input = wp_kses_post( $_POST['user_input'] ); ?>

例7: カスタムテンプレートでの使用

カスタムテンプレート内でwp_kses_post()を使用して、出力をサニタイズします。

<?php echo wp_kses_post( $custom_content ); ?>

例8: プラグイン開発での使用

プラグイン開発中にユーザー入力データをサニタイズします。

function my_plugin_function( $input ) { return wp_kses_post( $input ); }

注意点

  • wp_kses_post()は、WordPressのデフォルトで許可されているHTMLタグと属性のみを保持します。カスタムタグや属性を使用する場合は、wp_kses()関数を使用して許可リストを指定する必要があります。
  • ユーザー入力データを表示する際は、必ずサニタイズを行い、セキュリティリスクを軽減してください。

関連機能: