Zar ti stvarno trebaju WordPress emoji?

Od verzije 4.2 WordPress standardno dolazi s uključenom podrškom za ekotikone (Emoji-e). Podrška za njih je osmišljena na način da je u <head> vaše stranice uključen javascript kod za njihovu integraciju. Provjerite 😉

Ovo je pravilo za gotovo svaku današnju WordPress stranicu, a vjerujem da ste među onim djelom administratora koji ne žele da im se nešto nameće bez jednostavne mogućnosti kontrole nad time, pogotovo kad pri tome utječe na brzinu učitavanja vašeg internet projekta.

<script type="text/javascript">
window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/72x72\/","ext":".png","source":{"concatemoji":"https:\/\/facetwp.com\/wp-includes\/js\/wp-emoji-release.min.js?ver=4.2.2"}};
!function(a,b,c){function d(a){var c=b.createElement("canvas"),d=c.getContext&&c.getContext("2d");return d&&d.fillText?(d.textBaseline="top",d.font="600 32px Arial","flag"===a?(d.fillText(String.fromCharCode(55356,56812,55356,56807),0,0),c.toDataURL().length>3e3):(d.fillText(String.fromCharCode(55357,56835),0,0),0!==d.getImageData(16,16,1,1).data[0])):!1}function e(a){var c=b.createElement("script");c.src=a,c.type="text/javascript",b.getElementsByTagName("head")[0].appendChild(c)}var f,g;c.supports={simple:d("simple"),flag:d("flag")},c.DOMReady=!1,c.readyCallback=function(){c.DOMReady=!0},c.supports.simple&&c.supports.flag||(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);
</script>

Slijedeće skripte se dinamički učitavaju kako bi WordPress CMSu omogućile podršku za Emoji-e:

Kako to sve funkcionira?

Prva od navedenih skripti, twemoji.js, služi za dinamičku zamjenu koda ili tekstualnog oblika emotikona u fotografiju. Dakle ukoliko upišete 🙂 – skripta će taj tekst automatski zamjeniti sa pripadajućom fotografijom tj. emotikonom koji ga “opisuje” smiley.

Slijedeća skripta, wp-emoji.js osluškuje DOM (Document Object Model) promjene. Kod novijih internet preglednika koristi MutationObserver konstrukciju kako bi pozvala twemoji.parse(document.body) funkciju, nakon što detektira promjenu u tekstu.

Problemi

Kako emoji skripta konstantno osluškuje DOM promjene, što je teoretski dobro za puginove koji se koriste AJAX-om gdje je sadržaj dinamičan tj. izmjenjuje se “u pokretu”, proces izmjene emoji kodova sa pripadajućim fotografijama može biti podosta spor i utjecati na performance CPU-a.

Kako ih isključiti?

Emojie možete isključiti tako da ubacite sljedeći kod u functions.php datoteku vaše teme:

function disable_wp_emojicons() {
 
// sve vezano uz emojie
 remove_action( 'admin_print_styles', 'print_emoji_styles' );
 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_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );
 remove_filter( 'the_content_feed', 'wp_staticize_emoji' );
 remove_filter( 'comment_text_rss', 'wp_staticize_emoji' );
 
// filter za micanje TinyMCE emojia
 add_filter( 'tiny_mce_plugins', 'disable_emojicons_tinymce' );
}

add_action( 'init', 'disable_wp_emojicons' );
function disable_emojicons_tinymce( $plugins ) {
 if ( is_array( $plugins ) ) {
 return array_diff( $plugins, array( 'wpemoji' ) );
 } else {
 return array();
 }
}

Lista svih emoji-a u WordPress-u?

Ne, nju vam ne mogu pokazati jer ih ima 872 na WordPress.com-u. Vjerojatno vam izgledaju poznato, a razlog tomu je Twitter koji je dozvolio njihovu upotrebu i označio ih kao Open-source.

emoji

Vrijedi pročitati

Nikola Pervan Written by:

Više od 10 godina iskustva u internet marketingu. eCommerce i prodaja putem interneta moja su opsesija te područja na kojima konstantno radim i na kojima se usavršavam.