Cómo cargar scripts en WordPress solo si una publicación contiene un código corto

Como de costumbre, es mejor cargar sus estilos y scripts para sus temas de WordPress solo cuando sea necesario, para que el sitio se cargue rápidamente y para evitar errores de JS. Para hacer esto, hay toneladas de condicional incorporado para verificar si un artículo usa una plantilla específica, si es la página de inicio, la página de búsqueda, la página de administración, etc., para que pueda cargar sus estilos y scripts solo en las páginas que los requieran, sin embargo, no hay forma de probar si un la publicación tiene un código corto en el contenido.

Mucha gente simplemente carga todo su javascript y CSS para sus códigos cortos en su encabezado usando la función wp_enqueue, pero ese no es realmente el mejor método. Al desarrollar un sitio, siempre debe apuntar a la velocidad / rendimiento.

Hoy tengo una función de WordPress muy útil de mi amigo en PippinsPlugins (el mejor sitio en la web para complementos de WordPress en tutoriales de complementos) que le permite verificar si un cierto shortcode termina en una publicación y carga sus scripts.

Función de verificación de código corto

Simplemente copie y edite (cambie YOUR_SHORTCODE por el nombre del código corto que desea verificar) la función a continuación para probar sus publicaciones en busca de un código corto y cargue sus scripts / estilos si es necesario.

function check_for_shortcode($posts) {
if ( empty($posts) )
return $posts;

// false because we have to search through the posts first
$found = false;

// search through each post
foreach ($posts as $post) {
// check the post content for the short code
if ( stripos($post->post_content, '[YOUR_SHORTCODE') )
// we have found a post with the short code
$found = true;
// stop the search
break;
}

if ($found){
// $url contains the path to your plugin folder
$url = plugin_dir_url( __FILE__ );
wp_enqueue_style( 'my_login_Stylesheet',$url.'plugin_styles.css' );

}
return $posts;
}
// perform the check when the_posts() function is called
add_action('the_posts', 'check_for_shortcode');

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Ir arriba