A partir de la versión 4.2 de WordPress se ha introducido una nueva característica: Emojis Icons. Permite el uso de los iconos Emoji en los comentarios
Ésto conlleva que se introduce código JS y CSS en el head de nuestra página. Para páginas web desarrolladas en WordPress y que no hagan uso de comentarios, ésto puede ser un problema, ya que recargamos la página con código JS y CSS innecesario, y se aumenta el tiempo de carga de la web.
Para mejorar nuestro WPO (Web Performance Optimization) debemos evaluar si necesitamos o no estos scripts, y en caso de no utilizarlos deshacernos de ellos.
Si por ejemplo tenemos una página web corporativa y no usamos comentarios en nuestra sitio, podemos desactivar ésta opción para optimizar la velocidad de carga y rendimiento de nuestra web tan sólo agregando estas dos líneas al functions.php de nuestro tema:
<?php
// REMOVE WP EMOJI
remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
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' );
Incluso podemos hilar un poco más fino. Si vamos a hacer uso de los emojis sólo en la página de detalle de nuestros post (single.php) porque ahí si tenemos habilitados los comentarios, podemos hacer uso de condicionales, y cargarlos sólo en caso de que estemos visualizando la plantilla single.php:
<?php
function remove_emojis_custom() {
if ( !is_single() ) {
// REMOVE WP EMOJI
remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
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' );
}
}
add_action( 'init', 'remove_emojis_custom' );