ホーム » WordPressで絵文字を使わないなら

WordPressで絵文字を使わないなら

 | , ,  | 

WordPress Ver4.2から標準的に吐き出すソースは以下のJavascriptコードが含まれます。これは、WordPressの投稿やコメント欄などでスマホの絵文字が使えるようにするためのものです。
しかし、そもそも投稿で絵文字を使わない、またはコメント入力をしないようにしているサイトでも多くがこの長いコードが吐き出されています。

特にヘッダー部分に吐き出されるのでソースを見た際に結構目につくんですよね。。。

 

window._wpemojiSettings = {"baseUrl":"https://s.w.org/images/core/emoji/2.3/72x72/","ext":".png","svgUrl":"https://s.w.org/images/core/emoji/2.3/svg/","svgExt":".svg","source":{"concatemoji":"http://www.e-performance.co.jp/wp-includes/js/wp-emoji-release.min.js"}};
!function(a,b,c){function d(a){var b,c,d,e,f=String.fromCharCode;if(!k||!k.fillText)return!1;switch(k.clearRect(0,0,j.width,j.height),k.textBaseline="top",k.font="600 32px Arial",a){case"flag":return k.fillText(f(55356,56826,55356,56819),0,0),b=j.toDataURL(),k.clearRect(0,0,j.width,j.height),k.fillText(f(55356,56826,8203,55356,56819),0,0),c=j.toDataURL(),b!==c&&(k.clearRect(0,0,j.width,j.height),k.fillText(f(55356,57332,56128,56423,56128,56418,56128,56421,56128,56430,56128,56423,56128,56447),0,0),b=j.toDataURL(),k.clearRect(0,0,j.width,j.height),k.fillText(f(55356,57332,8203,56128,56423,8203,56128,56418,8203,56128,56421,8203,56128,56430,8203,56128,56423,8203,56128,56447),0,0),c=j.toDataURL(),b!==c);case"emoji4":return k.fillText(f(55358,56794,8205,9794,65039),0,0),d=j.toDataURL(),k.clearRect(0,0,j.width,j.height),k.fillText(f(55358,56794,8203,9794,65039),0,0),e=j.toDataURL(),d!==e}return!1}function e(a){var c=b.createElement("script");c.src=a,c.defer=c.type="text/javascript",b.getElementsByTagName("head")[0].appendChild(c)}var f,g,h,i,j=b.createElement("canvas"),k=j.getContext&&j.getContext("2d");for(i=Array("flag","emoji4"),c.supports={everything:!0,everythingExceptFlag:!0},h=0;h<i.length;h++)c.supports[i[h]]=d(i[h]),c.supports.everything=c.supports.everything&&c.supports[i[h]],"flag"!==i[h]&&(c.supports.everythingExceptFlag=c.supports.everythingExceptFlag&&c.supports[i[h]]);c.supports.everythingExceptFlag=c.supports.everythingExceptFlag&&!c.supports.flag,c.DOMReady=!1,c.readyCallback=function(){c.DOMReady=!0},c.supports.everything||(g=function(){c.readyCallback()},b.addEventListener?(b.addEventListener("DOMContentLoaded",g,!1),a.addEventListener("load",g,!1)):(a.attachEvent("onload",g),b.attachEvent("onreadystatechange",function(){"complete"===b.readyState&&c.readyCallback()})),f=c.source||{},f.concatemoji?e(f.concatemoji):f.wpemoji&&f.twemoji&&(e(f.twemoji),e(f.wpemoji)))}(window,document,window._wpemojiSettings);

では、この絵文字用のJavascriptコードを吐き出さないようにするにはどんな方法があるのでしょうか?
もちろん、プラグインなども何種類か出回っていますが極力プラグインは使わないに越したことはありません。
ページの表示速度に影響もしますし、他のプラグインとのコンフリクトも考えられるからです。
一応、参考にプラグインをDisable Emojisというものが代表的ですね。


ブログ WordPressで絵文字を使わないなら

 

では他にどんな方法があるのか?
ズバリPHPコードでそれを実現する。
以下に、自身のサイトで使っているPHPコードになります。
このコードをfunction.phpのendif;の前に付け足すだけで、無駄な絵文字用Javascriptコードが吐き出されなくなります。
WordPressと言えど、できるだけソースはスッキリしたいですもんね。



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

 

ブログ WordPressで絵文字を使わないなら


function.phpを書き換える場合は自己責任でお願いします。
ひとつ間違えると、ダッシュボードが真っ白になってログインできなくなってしまいますので十分ご注意ください。