Para establecer distintos header debes usar get_header.
Para los colores, tendrás que aplicar distintos estilos en cada sección y combinarlos con los correspondientes condicionales.
Si estoy en sección 1, entonces aplico estilo 1….
Me he dejado el enlace de la función get_header.
Iniciador del debate
Hector
(@hecktoras)
Gracias @almendron
Intentaré implementarlo, aunque si quiero crear un encabezado para una página que por ejemplo se llama Servicios cómo sabría cual es su código.
1) Crea el archivo header-servicios.php (basado en el header del tema que uses)
2) Con get_the_id recuperas el ID de la página actual.
3) Condicional en el archivo del tema donde se llama al «header» (normalmente con «get_header()»):
Si el ID de la página que has obtenido en el punto anterior es igual al ID de Servicios, entonces «get_header( ‘servicios’ );». En caso contrario «get_header()».
-
Esta respuesta fue modificada hace 4 años, 8 meses por almendron.
-
Esta respuesta fue modificada hace 4 años, 8 meses por almendron.
Buenos días,
me meto por aquí porque estoy teniendo el mismo problema. Estoy creando un theme personalizado y sólo en la página home tiene una cabecera diferente.
1. He creado dos ficheros (header-index.php y header-resto.php).
2. En el fichero index.php he incluido la siguiente instrucción:
<?php
if(is_home()) :
get_header(‘index’);
elseif(is_page()) :
get_header(‘resto’);
?>
He probado varias formas; quitando los dos puntos y poniendo llaves, quitando el get_header y devolviendo el fichero con require, con include… Y no me está haciendo ni caso.
También he probado a dejar el index.php tal cual está en el header.php he incluido el código que os he puesto anteriormente.
Alguna idea?
No puedo compartir enlace de la web porque lo estoy haciendo en local.
Muchas gracias
-
Esta respuesta fue modificada hace 4 años, 5 meses por tvalades.
1) Crea primero «header.php» o cambia el nomre de «header-resto.php» por «header.php»
2) Prueba con el código:
<?php
if ( is_home() ) :
get_header( 'home' );
else :
get_header();
endif;
?>
Buenas @almendron gracias pro tu respuesta.
He probado a hacer lo que me dices y no consigo que me cargue el fichero que correspondería al home. Sólo me carga un header.
1) Debes tener dos header: «header.php» y «header-home.php»
2) Comprueba que carga el primero poniendo:
<?php get_header(); ?>
3) Comprueba que carga el segundo sustituyendo lo anterior por
<?php get_header( 'home' ); ?>
Independientemente de lo que ponga por parámetro, me carga sólo el fichero header.php.
Pensaba que era problema del código pero lo he movido al fichero header.php y carga perfectamente pero el fichero header-home.php no consigo que me cargue.
Todo parece indicar que no encuentra el archivo «header-home.php».
¿Dónde lo has puesto?
Está justo debajo de header.php: \wp-content\themes\mitema
ESTUPENDO!!!
He eliminado el condicional que tenía en el index.php y he creado un fichero page-home haciendo una llamada a get_header(‘home’) y funciona a la perfeccion!!
Muchisimas gracias!!