WordPress4.2から導入された絵文字画像変換で特殊文字が置換される
ある日突然サイトで利用していた特殊文字コードが、Wordpress 4.2から導入された変換機能で置換されていることに気づきました。
テンプレートなどの変更は行っていないので、ブラウザーのバグ?またはブラウザーの新機によって置換されて表示されているのかな?
っと、はじめはそう思っていたのですが、サイト管理者から修正依頼がきて初めて違うことに気づきました。
原因を調べると、どうやらWordpress 4.2から導入された新しい機能のようです。
モバイル端末などの幅広い機器とそれらのブラウザーで、特殊文字が表示されないのを防ぐために、自動で変換されるようです。
ソースコードを確認してみると
確かに
▶ の文字コード(& #x25B6 ;)が
img class=”emoji” draggable=”false” alt=”?” src=”https://s.w.org/images/core/emoji/72×72/25b6.png”
の画像タグに変換されてしまいます。
絵文字変換機能を停止する方法は
テーマフォルダ内の functions.php ファイルに下記のコードを追加すればOKです。
remove_action( ‘wp_head’, ‘print_emoji_detection_script’, 7 );
remove_action( ‘wp_print_styles’, ‘print_emoji_styles’ );
remove_action( ‘admin_print_styles’, ‘print_emoji_styles’ );
remove_action( ‘admin_print_scripts’, ‘print_emoji_detection_script’ );
remove_filter( ‘the_content_feed’, ‘wp_staticize_emoji’ );
表示後に、Javasceiptでコードを置換しているようなので、実行するとページの表示速度の低下にもつながってしまうのかな?
デフォルトはOFFで、利用したい場合はONにする設定項目を追加してほしいところです。
functions.php のカスタマイズ以外にもプラグインを導入することで対応することができます。
Disable Emojis
wordpress.org/plugins/disable-emojis/