ワードプレスのallowed_tagsフィルタの使用方法・解説

概要

allowed_tagsフィルタは、許可されているHTMLタグのテキストを取得するために使用されます。このフィルタは、ユーザーからの入力データを検証し、セキュリティを向上させるために、特定のHTMLタグだけを許可したり、除外したりする際に役立ちます。以下は、allowed_tagsフィルタがよく使われる機能の例です。

  1. 投稿やコメントのHTMLタグを制御する
  2. ショートコードの出力をフィルタリングする
  3. ウィジェットのHTML出力を調整する
  4. カスタムフィールドの保存データを検証する
  5. 特定のユーザー権限によるタグの制限
  6. テーマやプラグインの設定画面での入力制限
  7. フロントエンドのコンテンツ表示を管理する
  8. APIレスポンスのセキュリティを強化する

構文

apply_filters( 'allowed_tags', $tags );

パラメータ

  • $tags (array): 許可されるHTMLタグの配列

戻り値

  • (array): 更新された許可されるHTMLタグの配列

関連する関数

allowed_tagsフィルタに関連する関数

使用可能なバージョン

  • WordPress 2.9以降

コアファイルのパス

  • wp-includes/formatting.php

この関数のアクションでの使用可能性

アクション 使用例
mu_plugin_loaded
registered_post_type
plugins_loaded
wp_roles_init
setup_theme
after_setup_theme
set_current_user
init
register_sidebar
wp_loaded
send_headers
parse_query
pre_get_posts
wp
template_redirect
get_header
wp_head

サンプルコード

1. デフォルトの許可されているHTMLタグを表示する

このサンプルコードは、WordPressで許可されているデフォルトのHTMLタグを表示するものです。

function display_allowed_tags() {
    $allowed_tags = wp_kses_allowed_html('post');
    echo '<pre>';
    print_r($allowed_tags);
    echo '</pre>';
}
add_action('wp_footer', 'display_allowed_tags');

(引用元: https://developer.wordpress.org/reference/functions/wp_kses_allowed_html/)

2. 特定のHTMLタグを追加する

このサンプルコードは、デフォルトの許可されているHTMLタグにカスタムタグを追加する方法を示しています。

function add_custom_allowed_tags($allowed_tags) {
    $allowed_tags['customtag'] = array();
    return $allowed_tags;
}
add_filter('allowed_tags', 'add_custom_allowed_tags');

(引用元: https://www.smashingmagazine.com/2020/01/wordpress-custom-content-filter/)

3. 特定のタグを削除する

このサンプルコードは、特定のHTMLタグを許可されたリストから削除する方法を示しています。

function remove_specific_allowed_tags($allowed_tags) {
    unset($allowed_tags['script']);
    return $allowed_tags;
}
add_filter('allowed_tags', 'remove_specific_allowed_tags');

(引用元: https://www.sitepoint.com/securing-your-wordpress-website-from-hackers-using-allowed_tags/)

4. コメントに許可されたタグをカスタマイズする

このサンプルコードは、コメントに許可されたタグをカスタマイズする例です。

function custom_comment_allowed_tags($allowed_tags) {
    $allowed_tags['strong'] = array();
    return $allowed_tags;
}
add_filter('allowed_tags', 'custom_comment_allowed_tags');

(引用元: https://wpengine.com/resources/wordpress-comment-management/)

5. ショートコードのHTML出力を制御する

このサンプルコードは、自作ショートコードの出力に許可されたHTMLタグを制限する方法を示します。

function my_custom_shortcode() {
    return '<div class="my-class">Hello World!</div>';
}
add_shortcode('my_shortcode', 'my_custom_shortcode');

function control_shortcode_output_allowed_tags($allowed_tags) {
    $allowed_tags['div'] = array('class' => true);
    return $allowed_tags;
}
add_filter('allowed_tags', 'control_shortcode_output_allowed_tags');

(引用元: https://www.wpexplorer.com/create-wordpress-shortcodes/)

この関数について質問する


上の計算式の答えを入力してください