バグ報告Ver.0.0.1→0.0.2

リリースメモ
この記事は約4分で読めます。
記事内に広告が含まれています。

【件名】ウィジェットタイトルに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('&#039;', "'", $title);
  $title = str_replace('&quot;', '"', $title);

  return $title;
});

変更一覧

パスファイル名
/skin-made-in-heaven/lib/hook-wp.php
タイトルとURLをコピーしました