Cómo añadir CSS a un tema de WordPress

Cómo NO añadir un CSS en WordPress

Es uno de los errores más comunes que veo en desarrolladores web que no tienen experiencia en WordPress, y es editar el header.php de un tema para añadir una etiqueta link con su archivo CSS. Esto está terminantemente prohibido en WordPress.

Las colas en WordPress

WordPress es muy inteligente, pero hay que conocerlo. Cuando nuestra web se tiene que mostrar en pantalla, WordPress tiene que enlazar todos los archivos CSS que va a usar, tanto del tema como la todos los plugins activados que lo necesiten.

WordPress crea la estructura de nuestro sitio y añade lo que va necesitando en un determinado momento. Cuando va a añadir el CSS, WordPress mira todos los CSS registrados que necesita mostrar, tanto del tema activo como de los plugins que lo necesiten y ejecuta la acción wp_enqueue_scripts.

Esto se llama «action» y es lo que nos permite añadir ciertas cosas a nuestras plataformas de WordPress en el momento de ejecución en el cual lo necesitemos.

Registrando nuestro archivo CSS

Como hemos visto primero tenemos que registrar y poner en la cola a nuestro archivo CSS, para eso usaremos la función:

wp_enqueue_style( $name, $src, $deps, $ver, $media );

Donde las variables son:

  • $name: nombre del CSS que queremos usar. Obligatorio.
  • $src: ruta del archivo CSS que vamos a aplicar. Obligatorio.
  • $deps: es un array opcional, y sirve para identificar si nuestro CSS depende de otro.
  • $ver: un string opcional para indicar la versión de nuestro archivo.
  • $media: valor opcional. Con esta variable podemos indicar si es un CSS para la versión de impresión.

Por ejemplo:

wp_enqueue_style( 'new_header', get_template_directory_uri() . '/css/new-header.css', '1.0' );

Con este código tenemos nuestro nuevo CSS registrado, pero tenemos que avisar a WordPress de que lo añada a nuestra web en el momento apropiado, es decir, cuando realiza la acción «wp_enqueue_scripts«.

Esto lo hacemos creando una función que será llamada cuando WordPress realice la acción de «wp_enqueue_scripts«, y se hace así de fácil:

function adding_my_new_header() {
    wp_enqueue_style( 'new_header', get_template_directory_uri() . '/css/new-header.css', '1.0' ); 
}
add_action( 'wp_enqueue_scripts', 'adding_my_new_header' );

Con esta función que he llamado «adding_my_new_header» le estamos diciendo a WordPress: «oye, cuando hagas la acción de añadir los scripts, llama a esta función que acabo de crear para añadir este CSS que he registrado y lo pones en cola«.

Esta función tendremos que crearla en nuestro plugin o en el archivo functions.php de nuestro tema de WordPress.

Píldoras relacionadas

¿Quieres recibir todas las píldoras de Product Designer Academy en tu email?

Recibe cada semana en tu buzón las píldoras de mayor contenido relacionadas con el diseño, el desarrollo y producto digital.

Recibir una dosis semanal en mi email

Nada de SPAM. Solo enviaremos a tu email una recopilación de las píldoras publicadas. Para que no te pierdas ninguna.

Suscríbete a la lista de correo para recibir un resumen de las novedades y los contenidos de Product Designer Academy

Suscribirme

* Nada de SPAM, sólo contenido de alto valor para ayudarte a crear productos digitales.