WordPress4.2以降の絵文字対応を無効化する。

2015年09月14日 18時00分 正午の月齢:1.2  月名:二日月  潮汐:大潮 月齢:1.2[二日月] 潮汐:大潮
(最終更新日:2019年09月17日)
9年前に投稿 | WordPress | コメントはありません

3分ぐらいで読めます。

この記事は情報が古い場合があります。

久しぶりにW3CのMarkup Validation Serviceを開いてみると、すごく怒られてしまいました。

w3c01

Line 42, Column 83: cannot generate system identifier for general entity "c.getContext"

Line 42, Column 83: general entity "c.getContext" not defined and no default entity

Line 42, Column 95: reference not terminated by REFC delimiter

Line 42, Column 95: reference to entity "c.getContext" for which no system identifier could be generated

などなど。どれも記憶にない記述ばかり。「なんだこりゃ?」と思ってソースを見ると、見たこともないスクリプトが書き込まれていました。勝手に書き込んで文法がムチャクチャなんて。それとも今使っているテーマがxhtml1.0 strictだから? html5だったら大丈夫なのかな。

どうやらWordPress4.2以降、絵文字に対応したことにより追加された「絵文字を画像に置き換えるスクリプト」のようですが、どうせ絵文字なんて使わないし、自分としては不要な機能。

いずれにしても、美しくないソースをさらけ出していることのほうが恥ずかしいので、このスクリプトをどうにか止めなくてはなりません。参考にしたのはこちらのサイト。

ここに書かれている「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に追加しました。で、もういちどチェック。

w3c02

やったー。これで文法違反の汚名は晴らすことができましたー。

コメントはありません

ごめんなさい、コメントフォームは閉鎖しています。

Translate »