WordPressの特殊文字が絵文字(画像)に自動変換される機能を無効にする方法

WordPress4.2以降から追加された特殊文字の自動変換機能。ブラウザや端末などユーザー環境によって、うまく出力されない問題を防ぐために実装されたらしいのですが、場合によってはお節介的な機能でもあります。

先日請け負っていたWeb制作案件で、この機能に悩まされましたのですが、数行スクリプトを記述するだけで、簡単に解決できたので、その方法を紹介しておきます。

今回の問題

Webサイトに「▶︎」の文字を特殊文字で記述していたのですが、どうもブラウザには下記のような絵文字(画像)が表示されてしまいました。

(↑こう出力したい)

(↑こうなる)

ソースコードを見てみると、svg形式の画像に変換されていました。

<img draggable="false" class="emoji" alt="&#x25b6;" 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 emoji」

僕自身は使ったことがないので、使い方を紹介してくれている記事を貼っておきますね。

制作費用参考表

想定費用 想定納期
コーポレートサイト 10万円〜 1ヶ月〜
メディアサイト 10万円〜 1ヶ月〜
WordPressテンプレートプラン 5万円〜 3週間〜
ランディングページ 5万円〜 1ヶ月〜
保守運用 1万円〜 -
SEOコンサルティング 1万円〜 最低契約期間3ヶ月
その他サイト不具合等のご相談 応相談