ワードプレスに作成したオリジナルメニューのテキストエリア内でHTMLを許可する方法をご紹介します。 ※「 ワードプレスの管理画面にオリジナルメニューを作成する」記事の補足内容なります。
ワードプレスの管理画面にオリジナルメニューを作成方法についてはこちら [blogcard url=“https://www.design.pon-poo.com/tutorial/post-1319/”\]
ワードプレスのテキストエリア内でwp_kses関数を使用し、特定のHTMLタグを許可することができます。以下の手順で、テキストエリア内でHTMLを許可することができます。
functions.phpに追加
function sanitize_textarea_html($input) {
$allowed_tags = array(
'a' => array(
'href' => array(),
'title' => array()
),
'br' => array(),
'em' => array(),
'strong' => array(),
'p' => array(),
'ul' => array(),
'ol' => array(),
'li' => array(),
'h1' => array(),
'h2' => array(),
'h3' => array(),
'h4' => array(),
'h5' => array(),
'h6' => array(),
);
return wp_kses($input, $allowed_tags);
}
次に、入力した内容を登録するコード(こちらを参照)に’sanitize_textarea_html’を追記します。
add_action('admin_init', 'my_custom_settings');
function my_custom_settings() {
register_setting('my_custom_settings_group', 'my_text_option');
register_setting('my_custom_settings_group', 'my_textarea_option', 'sanitize_textarea_html');
}
これで、テキストエリア内で特定のHTMLタグが許可されるようになります。これにより、テキストエリア内に許可したHTMLタグを使用することができるようになります。
ちなみに、HTMLをすべて許可する場合はこのようにします。 ※安全性とセキュリティの観点から慎重に行ってください。
function sanitize_textarea_html($input) {
return $input;
}
