Plugin Optimización de Imágenes Gratuito para WordPress
Domingo, 18 Junio 2017 22:05

Desactivar Emojis en WordPress ¡sin plugins!

Escrito por 
CMS:  WordPress |  Versión:  4.8.x |  Nivel de dificultad:  Básico |  Tiempo estimado de lectura:  5 minutos


Desactivar Emojis en WordPress


Los emojis, esos pegadizos y coquetos emoticones que un día aterrizaron en nuestros navegadores, más tarde en los dispositivos móviles y pusieron caritas a casi todo lo que queremos expresar en determinados momentos.

Desactivar Emojis en WordPress pero sin rollos raros, sin tener que utilizar plugins que sobrecarguen tu web innecesariamente.

Gracias a los emoticones nos reímos, lloramos, nos partimos de risa o expresamos enfados puntuales ¡los menos!, aunque no siempre simpatizamos con ellos y por eso estás leyendo esto, porque quieres quitártelos de encima ¡veamos como!

Ya sabrás a estas alturas que los emojis vienen activados por defecto en WordPress, si no lo crees no tienes más que abrir tu web, hacer clic con el botón derecho de tu ratón sobre tu portada, "Ver código fuente" y luego una búsqueda con control+F (o la combinación que corresponda a tu sistema operativo) y buscar la palabra "emojis" para saber si se cargan o no en portada ¡aunque no los utilices!

Los emojis son utilizados como los emoticones principalmente en conversaciones de texto a través de smartphones.Wikipedia

..si, si, ya se que hable de los emojis tiempo atrás y te propuse una función, pero he observado con el paso del tiempo y nuevas versiones (2 años dan para mucho) que con aquella función (mira el primer link de este artículo) no se resolvía bien el problema y siempre había restos.

Por eso quiero que lo intentemos de nuevo, con una función más fresca y que no deja huella ...sino después de aplicarla realiza la prueba del algodón :D

 

El proceso y sus ventajas

Primero quiero mostrarte el tiempo que tarda en cargar una web WordPress que por defecto tiene "emojis" habilitados y el código está embebido en el tema activo. ¡Ojo, no lo añade el tema sino el núcleo (core) de WordPress!


Tiempo de carga de la web

Haz clic en la imagen para ampliarla  

Tiempo de carga: 4.45 segundos

Ahora, si haces una búsqueda de "emoji" en el código fuente de tu tema, desde el frontal de la web, "Ver código fuente", verás si aparecen referencias al script.


Ver código fuente

Haz clic en la imagen para ampliarla  

Ahora viene la parte más sencilla, añadir una función en tu tema que elimine todo rastro de los emojis y estos dejen de cargar código innecesario.

 

Hay 3 formas de añadir la función en tu tema:

  1. Desde el dashboard, Apariencia, Editor, editando el archivo functions.php (Funciones del tema) y añadiendo el código al final del archivo.
  2. Desde el Panel de Hosting (cPanel), Archivos, Administrador de Archivos, carpeta /wp-content/themes/</tu-tema-activo> editando el archivo functions.php con el "Editor de Código" y añadiendo el código al final del archivo.
  3. Por FTP, accediendo a la carpeta /wp-content/themes/ editando el archivo functions.php y añadiendo el código al final del archivo.
 

¿Qué código debo añadir?

Pues este que te pongo debajo, y que debo decir que lo encontré tiempo atrás en el Blog de Darío Balbontín @DarioBF al que sigo hace mucho y recomiendo que tu también sigas y consumas sus interesantes contenidos y te hagas adicto a sus estrenados podcast.

Pues eso, que encontré la función, probé su comportamiento desde la primera versión en la que WordPress.org decidió incorporar "emojis", la 4.2, y me fue bien con ella y aquí sigo ¡usándola y recomendándola!

 

La función:

/**
 * Desactiva los emojis
*/
function desactiva_emojis() {
   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_filter( 'tiny_mce_plugins', 'desactiva_emojis_tinymce' );
}
add_action( 'init', 'desactiva_emojis' );
/**
 * Filtro que elimina el plugin de emojis de TinyMCE
 * @param    array  $plugins  
 * @return   array  Difference betwen the two arrays
*/
function desactiva_emojis_tinymce( $plugins ) {
   if ( is_array( $plugins ) ) {
       return array_diff( $plugins, array( 'wpemoji' ) );
   } else {
       return array();
   }
}

En esta captura puedes ver mejor como queda integrada en functions.php desde el Editor de Código del Administrador de Archivos de cPanel.


Función en el functions

Haz clic en la imagen para ampliarla  

 

El resultado

Si ya has añadido la función "anti-emojis", por cualquiera de los 3 métodos recomendados, es hora de Guardar cambios en el archivo functions.php y ver los resultados.

Recarga la página web, el comportamiento debería ser el habitual (salvo que hayas puesto mal la función y eso te dejará un error 500 en pantalla como evidencia) y haz clic con el botón derecho del ratón para ver el código fuente de la página.

Haz una búsqueda en el código fuente de la palabra "emoji" y verifica si devuelve resultados ¡no debería devolver ninguno!


Ver código fuente

Haz clic en la imagen para ampliarla  

¡Perfecto! veamos entonces los tiempos de carga de la página, haber si hemos conseguido arañar unas décimas  


Tiempo de carga de la web

Haz clic en la imagen para ampliarla  

Tiempo de carga: 3.19 segundos

Pues parece que algo ha mejorado lo carga, aunque ya sabes que en esto de las métricas influyen muchos factores, como el servidor de medición, y el momento de carga en el que realices la medición, por lo que hacer varias pruebas te ayudará a obtener un valor promedio fiable.

Pero vamos que esto en realidad iba de librarse de los Emojis y el script que carga si o si salvo que tu lo evites.

 

Vídeo explicativo del proceso

En este vídeo puedes ver que insertar código de una función es la cosa más sencilla del mundo, se hace una vez solamente y sirve para siempre, mientras quieras mantener esa funcionalidad.

 

No olvides que es siempre muy importante realizar una copia de seguridad de tu web antes de toquetear functions.php no sea que la líes parda y luego me eches a mi la culpa :P

     

¿Te ha resultado interesante este artículo?

Suscríbete para recibir consejos exclusivos para WordPress, Joomla y PrestaShop



Luis Méndez Alejo

Miembro del equipo técnico de Webempresa.
Coordinador de contenidos en el Blog y en Youtube.
Google+


Plugin Optimización de Imágenes Gratuito para WordPress