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

本ページはプロモーションが含まれています

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はあまりいじりたくないという方は、プラグインで対応することもできるみたいです。

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

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

志賀裕一のアバター 志賀裕一 サーバーチョイス 編集者

Web開発歴6年のフリーランスエンジニア。大学在学中から教育系Webメディアを運営するスタートアップにて、Webディレクターとして従事。独立からこれまでに多くのコーポレートサイトやCRM、予約システムなどのシステム開発、オウンドメディア運営を経験。20以上のレンタルサーバーの使用経験を持つ。

目次