本ページはプロモーションが含まれています
WordPress4.2以降から追加された特殊文字の自動変換機能。ブラウザや端末などユーザー環境によって、うまく出力されない問題を防ぐために実装されたらしいのですが、場合によってはお節介的な機能でもあります。
先日請け負っていたWeb制作案件で、この機能に悩まされましたのですが、数行スクリプトを記述するだけで、簡単に解決できたので、その方法を紹介しておきます。
Ads
今回の問題
Webサイトに「▶︎」の文字を特殊文字で記述していたのですが、どうもブラウザには下記のような絵文字(画像)が表示されてしまいました。
(↑こう出力したい)
(↑こうなる)
ソースコードを見てみると、svg形式の画像に変換されていました。
<img class="emoji" draggable="false" src="https://s.w.org/images/core/emoji/2.4/svg/25b6.svg" alt="▶" />
特殊文字が絵文字(画像)に自動変換される機能を無効にするスクリプト
テーマフォルダの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」
WordPress.org
This plugin disables the new WordPress emoji functionality. …
僕自身は使ったことがないので、使い方を紹介してくれている記事を貼っておきますね。
ウェブコンテンツ
CMS「WordPress」のバージョン4.2から追加された絵文字用のCSSやJavaScriptを削除する方法に関する…