Encolar estilos y scripts en un plugin de WordPress

Luego justo después metemos la función de encolar los assets: css y javascript (si lo vamos a usar).

/**
 * Enqueue styles & scripts
 */
function cfi_assets() {
	wp_register_style( 'cfi-style', plugins_url( '/style.css' , __FILE__ ) );
	wp_enqueue_style( 'cfi-style' );
	wp_enqueue_script('cfi-script', plugin_dir_url(__FILE__) . 'script.js', array('jquery'), '1.0.0', true);
}
add_action('init', 'cfi_assets');

Y en este caso lo vamos a hacer que solo cargue en los posts, porque nuestro plugin va a ser compatible solo con los posts del blog. Para eso sí que le vamos a pedir a ChatGPT que nos lo adapte.

Vamos a copiar el código y a decirle a ChatGPT que quiero que cargue esos dos archivos solo cuando estemos en un post del blog que tenga una imagen destacada asignada (si no tiene imagen destacada asignada, tampoco se cargará).

Pregunta a ChatGPT

Hola ChatGPT, necesito que esta función de WordPress:

function cfi_assets() {
	wp_register_style( 'cfi-style', plugins_url( '/style.css' , __FILE__ ) );
	wp_enqueue_style( 'cfi-style' );
	wp_enqueue_script('cfi-script', plugin_dir_url(__FILE__) . 'script.js', array('jquery'), '1.0.0', true);
}
add_action('init', 'cfi_assets');

se cargue solo en los posts del blog, en aquellos posts que tengan una imagen destacada asignada.

Screenshot 2024 02 13 at 18.06.06

Nos contesta con esta función:

function cfi_assets() {
    if ( is_single() && has_post_thumbnail() ) {
        // Registra y encola los estilos solo si estamos en un post con imagen destacada
        wp_register_style( 'cfi-style', plugins_url( '/style.css', __FILE__ ) );
        wp_enqueue_style( 'cfi-style' );
        wp_enqueue_script( 'cfi-script', plugin_dir_url( __FILE__ ) . 'script.js', array( 'jquery' ), '1.0.0', true );
    }
}
add_action( 'wp_enqueue_scripts', 'cfi_assets' );

Genial, pegamos el código y creamos los dos archivos, el style.css y el script.js en la carpeta del plugin:

Screenshot 2024 02 13 at 18.11.33

¿Te ha gustado?

Suscríbete a mi newsletter para avisarte cuando suba más charlas y contenido que te pueda interesar sobre cultura.

Formulario de suscripción

Te enviaré contenido que de verdad crea que es interesante, me comprometo a no enviarte solo spam, sino algo con lo que merezca la pena detenerse y leer.

Estos datos los gestiono yo misma, Flavia Bernárdez Rodríguez y están alojados en el servidor de Nicalia (una empresa de hosting sostenible buenísima cuyo datacenter está en España). Usaré los datos para enviarte emails sobre las cosas que hago, organizo o pienso. Te podrás dar de baja cuando quieras, bien cuando te envíe un mail, o bien diciéndomelo por cualquier método de contacto.

Thank you for subscribing!

An error occurred. Please try again.