Sugerencia rápida Mejora de códigos cortos con la función has_shortcode ()

Uno de los errores que muchos desarrolladores cometen al crear códigos cortos (en temas y complementos) es siempre cargando todos los scripts y estilos. Por el bien de la eficiencia, y también para prevenir mejor los conflictos, los scripts y los estilos deberían solamente Se cargarán cuando sean necesarios. Esta es una función realmente útil que le permitirá realizar cualquier acción que desee, como cargar scripts y estilos, cuando, y solo cuando, una publicación tiene un shortcode particular.


Paso 1 escribiendo la función

Las funciones son realmente bastante simples. Todo lo que vamos a hacer es pasar un código corto como parámetro, luego revisar el contenido de la publicación actual para ese código corto

Puedes pegar este código en tu funciones.php o tu propio archivo de plugin.

 // compruebe la publicación actual para la existencia de una función de código corto has_shortcode ($ shortcode = ") $ post_to_check = get_post (get_the_ID ()); // false porque tenemos que buscar a través del contenido de la primera $ found = false; // si no se proporcionó un código corto, devuelva falso si (! $ shortcode) return $ found; // compruebe el contenido de la publicación para el código corto if (stripos ($ post_to_check-> post_content, '['. $ shortcode) ! == falso) // hemos encontrado el código corto $ found = true; // devuelve nuestros resultados finales devuelve $ found;

Lo primero que hacemos es pasar un parámetro a la función llamada $ shortcode y lo ponemos en blanco. A continuación obtenemos el objeto de publicación de la publicación mostrada actualmente. Hacemos esto usando la función get_post () para devolver el objeto post de la ID dada, que obtenemos con get_the_ID (), de la base de datos. Una vez que hayamos almacenado el objeto post en una variable, $ post_to_check, Podemos buscar a través de su contenido el código corto especificado.

Después de haber recuperado el objeto post, establecemos la $ encontrado variable a falso, y luego asegúrese de que $ shortcode el parámetro no está vacío, y si lo está, salimos de la función devolviendo el $ encontrado variable como falsa.

Ahora estamos listos para buscar en el contenido de la publicación el código corto deseado. Hacemos esto usando la función stripos (). Esta función toma dos parámetros, la cadena en la que se busca (la almiar), y la cadena para la cual buscar necesitar). En el caso, nuestro pajar es el contenido de la publicación, al que se accede con $ post_to_check-> post_content, y la aguja es el código corto que pasamos a nuestra función personalizada como parámetro. Observe que hemos dejado el cierre "]" fuera del parámetro de la aguja; Esto se debe a que debemos tener en cuenta los códigos cortos que aceptan parámetros y, por lo tanto, no tendremos el corchete de cierre inmediatamente después del nombre del código corto..

Si stripos () encuentra el código corto, ponemos el $ encontrado Variable a verdadero y luego devolver nuestros resultados. Eso es todo, nuestra función está completa.


Paso 2 usando la función

Esta función se puede utilizar en cualquier parte de sus plantillas de temas (no solo en el bucle) y es extremadamente útil para cargar scripts y estilos de forma selectiva.

Para verificar si la publicación actual tiene un código abreviado específico, puede usar la función así:

 if (has_shortcode ('your_short_code')) // realiza acciones aquí

Probablemente uno de los lugares más comunes en los que usaría esta función es en su header.php cuando cargue estilos y scripts, como por ejemplo:

 if (has_shortcode ('contactform')) wp_enqueue_style ('contactfom', get_bloginfo ('template_directory'). 'includes / contactform.css'); wp_enqueue_script ('contactfom', get_bloginfo ('template_directory'). 'incluye / contactform.js'); 

Conclusión:

Cuando los complementos y los temas que no utilizan los buenos estándares de codificación son tan abundantes, es importante que siempre nos esforcemos por desarrollarlos teniendo en cuenta los estándares de alta calidad, de modo que podamos ayudar a prevenir tantos conflictos de estilo de escritura como sea posible. Una de las maneras en que podemos hacer esto es solo cargando scripts / estilos para nuestros códigos cortos cuando en realidad son necesarios.

Lea más sobre el uso y la creación de códigos cortos en sus proyectos aquí!