WordPressの絵文字機能を無効化する「Disable Emojis」

CMS(Contents Management System)の「WordPress」では、米国時間2015年4月24日付にてリリースされた「WordPress 4.2(Powell)」より、「テーマヘッダー(header.php)」における<head>〜</head>タグ内に対して、絵文字(Emoji)機能のスクリプトが自動で出力されます。これはコアが有する機能の一つであり、テーマ側で出力しているものではありません。

しかしながら絵文字機能を使用しない場合には、この長いスクリプトは無用の長物と言えるでしょう。そこで当エントリでは、この絵文字機能を無効化する(「header.php」に対して出力させない)方法を幾つか紹介したいと思います。

前提として、テーマは変更しない

「テーマヘッダー(header.php)」に対する絵文字(Emoji)スクリプトの出力の制御を、機能の一部として提供しているテーマを選択すれば、追加のプラグインやテーマの編集は不要です(フリーのテーマでは「Luxeritas(ルクセリタス)」等が、独自のメニュー(カスタマイザー)を通じて この機能を提供します)。

しかしながら、この機能を有するテーマを元々使用していたサイトであれば、設定を調整するだけで制御する事が可能ですが、絵文字(Emoji)用のスクリプトの出力を制御するためだけに、それまでに使用していたテーマを変更するのは 実用的とは言えないでしょう。

プラグイン(Disable Emojis)を使用する

最も容易に絵文字(Emoji)スクリプトの出力を制御するには、プラグインを使用すると良いでしょう。公式ディレクトリに登録されている「Disable Emojis(GDPR friendly)」をインストールして有効化するだけで、設定不要にて 絵文字(Emoji)スクリプトの出力を抑制する事が可能です。

プラグインで制御すれば、後にテーマを変更した場合にも、一律に同じ機能性が引き継がれます。

「functions.php」に制御コードを追加

テーマを変更する予定がない場合、或いはプラグインの数を抑制したい場合等は、アクティブなテーマの「functions.php」に以下のコードを追加する事によって、絵文字(Emoji)用のスクリプトの出力を制御する事ができます(これは、「Disable Emojis」プラグインでも使用されている制御コードを「functions.php」に追加する事となります)。

remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'wp_print_styles', 'print_emoji_styles', 10 );

「functions.php」に追加したコードは、テーマのアップデート時にクリアになってしまうので、アップデート頻度の高いテーマを使用している場合には、Child Theme(子テーマ)を紐付けしてカスタマイズすると良いでしょう。また、編集後には 意図した変更が正しく反映されているかどうか、ソースコードの確認もお願い致します(コードの利用、及びそれに伴う結果として生じた直接的・間接的な損害・損失等に関しては、免責させて頂きます事を御了承下さい)。