WEBMAN

HTML,CSS,JSでハマった事のメモとWEB制作の実験場

公開日:

WordPressで管理画面「プロフィール情報」にHTML入力を許可したい

WordPressで管理画面「プロフィール情報」にHTML入力を許可したい

SPONSOR

お疲れ様です、ナガです。

先日、WordPress案件で管理画面の「プロフィール情報」に外部サイトへのリンクを貼る要件が発生したのでメモ。

管理画面の「プロフィール情報」はデフォルトで a タグ自体は使えるんですが、 target 属性にフィルターが掛かっていて出力されません。

target 属性を出力するにはテーマディレクトリ内の functions.php に、下記を記述します。

// functions.php
remove_filter('pre_user_description', 'wp_filter_kses');

これで「プロフィール情報」にHTMLタグが使用できるようになります。

ちなみにデフォルトで「プロフィール情報」に使用できるタグ及び属性は下記です。

ブロック要素は blockquote 以外、ほぼほぼ使えないみたいですね。

a[rel] は、 wp_kses_allowed_html 関数内で追加されます。

/* /wp-includes/kses.php */

$allowedtags = array(
  'a' => array(
    'href' => true,
    'title' => true,
    'rel' => true,
  ),
  'abbr' => array(
    'title' => true,
  ),
  'acronym' => array(
    'title' => true,
  ),
  'b' => array(),
  'blockquote' => array(
    'cite' => true,
  ),
  'cite' => array(),
  'code' => array(),
  'del' => array(
    'datetime' => true,
  ),
  'em' => array(),
  'i' => array(),
  'q' => array(
    'cite' => true,
  ),
  's' => array(),
  'strike' => array(),
  'strong' => array(),
);

著者のウェブサイトだけであれば、プロフィール管理画面の「ウェブサイト」から値を取得してあげればよかったのですが、デザイン的にそういう場所もなく、「プロフィール情報」にまとめて入力するという仕様になりました。

以上です。

SPONSOR

この記事をシェアする

コメント

関連記事