目次
【件名】ウィジェットタイトルにHTMLを入力した際、「”」や「’」が正しく変換されない
現象
件名の通り。
原因
以下にWordPressのウィジェットタイトル取得のコードを示す。
$widget_title = esc_html(strip_tags( $sidebar_args['widget_name']));
タイトルはエスケープ処理され、以下のようになる。
文字コードが異なるため、エスケープ文字が変換されない。
" → "
' → '
対策
以下に変更する。
add_filter('widget_title', function ($title) {
$title = str_replace('[', '<', $title);
$title = str_replace(']', '>', $title);
$title = str_replace(''', "'", $title);
$title = str_replace('"', '"', $title);
return $title;
});
変更一覧
| パス | ファイル名 |
|---|---|
| /skin-made-in-heaven/lib/ | hook-wp.php |
