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