Cómo cargar diferentes archivos CSS para diferentes páginas
Tengo varias páginas diferentes. Cada una de ellas tiene enlaces CSS distintos. Aunque los enlaces CSS son diferentes, todos los demás elementos en la sección head son iguales en estas páginas.
Necesito mover esos elementos head a header.php
para poder incluirlos usando get_header()
.
¿Cómo puedo cargar diferentes archivos CSS para diferentes páginas? Tengo alrededor de 20 páginas diferentes, por lo que cargar archivos después de verificar condiciones me parece un poco desordenado.
¿Existe algún enfoque mejor que este?
Si es posible, sugieranme cómo resolver este problema usando un plugin personalizado.
página 1:
<html lang="es">
<head>
<link rel="stylesheet" href="css/uno.css" />
.......
</head>
página 2:
<html lang="es">
<head>
<link rel="stylesheet" href="css/dos.css" />
.......
</head>

Puedes lograr esto usando condicionales dentro de la función que encola tus estilos.
function wpdocs_theme_name_scripts() {
wp_enqueue_style( 'global', get_stylesheet_uri() );
if ( is_page(5) ) {
wp_enqueue_style( 'page-five', get_stylesheet_uri() . '/page-five-styles.css' );
}
}
add_action( 'wp_enqueue_scripts', 'wpdocs_theme_name_scripts' );
Si quisieras tener más control tanto sobre el marcado de tu página como sobre los archivos CSS que cargas, podrías usar la jerarquía de plantillas de WordPress y crear una plantilla de página o algo más específico como page-5.php
. Llamando a wp_enqueue_scripts
desde dentro de estos archivos de plantilla solo se cargarán los recursos para esas páginas.

Si deseas hacerlo en tu plantilla, puedes hacer lo siguiente.
Puedes aprender más sobre la función is_page aquí: https://developer.wordpress.org/reference/functions/is_page/
<html lang="es">
<head>
<?php if ( is_page(1) ): //Cambia este número por el ID de la página ?>
<link rel="stylesheet" href="css/one.css" />
<?php endif; if ( is_page(2) ): //Cambia este número por el ID de la página ?>
<link rel="stylesheet" href="css/two.css" />
<?php endif; ?>
.......
</head>

<html lang="es">
<head>
<?php global $post;
if( $post->ID == 346) { ?>
<link rel="stylesheet" href="css/one.css" />
<?php } ?>
elseif ( $post->ID == 342){ ?>
<link rel="stylesheet" href="css/two.css" />
<?php } else{ //Cambia este número por el ID de la página ?>
<link rel="stylesheet" href="css/three.css" />
<?php } ?>
.......
</head>
