本ページはプロモーションが含まれています
WordPress4.2以降から追加された特殊文字の自動変換機能。ブラウザや端末などユーザー環境によって、うまく出力されない問題を防ぐために実装されたらしいのですが、場合によってはお節介的な機能でもあります。
先日請け負っていたWeb制作案件でこの機能に悩まされましたのですが、数行スクリプトを記述するだけで簡単に解決できたので、その方法を紹介しておきます。
目次
今回の問題
Webサイトに「▶︎」の文字を特殊文字で記述していたのですが、どうもブラウザには下記のような絵文字(画像)が表示されてしまいました。
(↑こう出力したい)
(↑こうなる)
ソースコードを見てみると、svg形式の画像に変換されていました。
<img class="emoji" draggable="false" src="https://s.w.org/images/core/emoji/2.4/svg/25b6.svg">
特殊文字が絵文字(画像)に自動変換される機能を無効にするスクリプト
テーマフォルダのfunctions.phpに下記のコードを記述するだけで、この自動変換機能を停止することができます。
function disable_emoji() {
remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
remove_action( 'wp_print_styles', 'print_emoji_styles' );
remove_action( 'admin_print_styles', 'print_emoji_styles' );
remove_filter( 'the_content_feed', 'wp_staticize_emoji' );
remove_filter( 'comment_text_rss', 'wp_staticize_emoji' );
remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );
}
add_action( 'init', 'disable_emoji' );
functions.phpを編集する際は、バックアップを取ることを忘れずに行ってください。
プラグインを使用する方法
functions.phpはあまりいじりたくないという方は、プラグインで対応することもできるみたいです。
Disable Emojis (GDPR friendly)
This plugin disables the new WordPress emoji functionality. GDPR friendly.
僕自身は使ったことがないので、使い方を紹介してくれている記事を貼っておきますね。
自動挿入される絵文字用コードを削除するプラグイン「Disable Emojis」 – ウェブコンテンツ
CMS「WordPress」のバージョン4.2から追加された絵文字用のCSSやJavaScriptを削除する方法に関する内容 絵文字用データって何? WordPressで絵文字を…