Soporte » Diseño – Temas y plantillas » Encabezado (Header) personalizado

  • Resuelto Hector

    (@hecktoras)


    Hola ¿Cómo te va?

    Hola ¿Cómo les va?

    Header
    Necesito tener tres encabezados diferentes para cada sección del sitio web ¿Cómo podría lograrlo?

    Menú Personalizado
    También necesito modificar los colores del menú para cada sección ¿Podrían ayudarme?

    Imagino que debo implementar CSS, pero no sabría como empezar.

    Estaré atento a las respuestas.
    Desde ya muchas gracias.

Viendo 14 respuestas - de la 1 a la 14 (de un total de 14)
  • Moderador almendron

    (@almendron)

    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….

    Moderador almendron

    (@almendron)

    Me he dejado el enlace de la función get_header.

    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.

    Moderador almendron

    (@almendron)

    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 meses, 3 semanas por almendron.
    • Esta respuesta fue modificada hace 4 meses, 3 semanas por almendron.
    tvalades

    (@tvalades)

    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 1 mes por tvalades.
    Moderador almendron

    (@almendron)

    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;
    ?>
    tvalades

    (@tvalades)

    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.

    Moderador almendron

    (@almendron)

    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' ); ?>

    tvalades

    (@tvalades)

    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.

    Moderador almendron

    (@almendron)

    Todo parece indicar que no encuentra el archivo «header-home.php».

    ¿Dónde lo has puesto?

    tvalades

    (@tvalades)

    Está justo debajo de header.php: \wp-content\themes\mitema

    Moderador almendron

    (@almendron)

    tvalades

    (@tvalades)

    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!!

    Moderador almendron

    (@almendron)

    De nada. Un saludo.

Viendo 14 respuestas - de la 1 a la 14 (de un total de 14)
  • Debes estar registrado para responder a este debate.