llama-dos-cabezas

Este es seguro uno de los trucos mas efectistas que puedes incluir en tu sitio, mediante el cual puedes definir una cabecera diferente dependiendo de la categoría del post que se esté visualizando, muy útil si tienes alguna sección especial que quieres destacar en particular. No digamos para centrar el posicionamiento en alguna categoría concreta.

El proceso es muy sencillo. Digamos que tienes una categoría llamada 'tutoriales' y has creado un fichero llamado header-tutoriales.php partiendo de tu archivo header.php pero personalizado (por ejemplo la imagen), pues solo tendrías que sustituir el habitual código de <?php get_header(); ?> por lo siguiente:

PHP:
  1. &lt;?php if is_category('tutoriales') {
  2.     get_header('tutoriales');
  3. } else {
  4.     get_header();
  5. } ?&gt;

Puedes, como puedes imaginar, hacer lo mismo con otros pies de página o barras laterales:

Para mostrar footer-mifooter.php pondrías esto en cualquier página a tu elección:

PHP:
  1. &lt;?php get_footer('mifooter'); ?&gt;

Para mostrar sidebar-misidebar.php pondrías esto en cualquier página a tu elección:

PHP:
  1. &lt;?php get_sidebar('misidebar'); ?&gt;

Compartir en Tuenti Distinta cabecera por categorías


También te puede interesar :

    14 comentarios en “Distinta cabecera por categorías”

  1. Información Bitacoras.com...

    Valora en Bitacoras.com: Este es seguro uno de los trucos mas efectistas que puedes incluir en tu sitio, mediante el cual puedes definir una cabecera diferente dependiendo de la categoría del post que se esté visualizando, muy útil si tienes alguna ...

  2. ferticidio (52 comentarios) dijo:

    Supongo que se puede hacer lo mismo con los tags ¿No? ideal para aquellos que decidimos clasificar nuestros post unicamente con ellos.

  3. Gaston (49 comentarios) dijo:

    Me imagino que donde dice "php get_footer('misidebar'); " debería decir "php get_sidebar('misidebar');"

    Me gustaría hacer algo así pero con páginas, ¿Hay alguna manera?
    Algo como if is_page('iddelapagina') ?? Cual sería el código correcto?

  4. Pedro (31 comentarios) dijo:

    Gran truco Fernando.

  5. Dario (2 comentarios) dijo:

    Excelente truco, lo tengo que probar.

  6. Federico (8 comentarios) dijo:

    Suponiendo que quisieramos hacerlo para mas de una categoría como sería ? entiendo poco de programación pero la función If vendría a ser una condición logica para si ( ta cosa ) No ( tal otra ) verdad ?

    Por lo cual si queremos personalizar mas de una cabecera o poner un sidebar para cada categoría como sería el código ?

  7. nexusbba (2 comentarios) dijo:

    Nosotros venimos utilizando el siguiente truco:

    Modificamos el contenido de "single.php" introduciendo una llamada a las distintas categorias de post, por ejemplo:

    post;
    if ( in_category('10') ) {
    include(TEMPLATEPATH . '/single-10.php');
    } elseif ( in_category('11') ) {
    include(TEMPLATEPATH . '/single-11.php');
    } elseif ( in_category('20') ) {
    include(TEMPLATEPATH . '/single-20.php');
    } else {
    include(TEMPLATEPATH . '/single-1.php');
    }
    ?>

    En este ejemplo le estamos diciendo que si el post corresponde a las categorias 10,11 y 20 nos muestre el fichero "personalzado". Las otras categorias se mostraran por defecto con el diseño que hayamos creado en single-1.php.

    Por supuesto podemos, en estos ficheros llamara a nuestras propias sidebars, footers y CSS. Atención, algunas versiones de WP se llevan mal con la presencia de ficheros en directorios distintos al del tema. Lo lógico, seria tener todo agrupado en distintos directorios, por ejemplo viajes, y allí colocar el php de la categoria, el CSS, las imagenes, etc. pero no es posible siempre y además, no podrás modificarlo desde el editor de WP.... un fallo increible.

    En cuanto a las categorias, con solo crear un fichero con el nombre de category-10.php por ejemplo, cuando hagas una llamada al resumen de noticias de esta seccion se te mostrará el contenido con diseño personalizado.

    En este caso te aconsejo copiar el mismo fichero de single para caegoria y renombrarlo a category-numero.php.

    A nosotros nos funciona perfectamente como puedes ver en http://www.noticiesdot.cat, entre otros sitios

    • cesar (39 comentarios) dijo:

      estoy intentando utilizar este codigo , pero supongo que la sintaxix esta mal porque no me funciona o almenos que un procedimiento este mal hecho, podrias explicarme por favor.

      post;
      if ( in_category('10') ) {
      include(TEMPLATEPATH . '/single-10.php');
      } elseif ( in_category('11') ) {
      include(TEMPLATEPATH . '/single-11.php');
      } elseif ( in_category('20') ) {
      include(TEMPLATEPATH . '/single-20.php');
      } else {
      include(TEMPLATEPATH . '/single-1.php');
      }
      ?>

  8. nexusbba (2 comentarios) dijo:

    Gaston,

    Para las páginas no hace falta tanta complicación. Cuando creas la página eliges que plantilla vas a usar para mostrar el contenido y ya esta. Es el metodo que solemos utilizar, entre otras cosas, para mostrar los resultados de Google "embutido" en nuestro diseño.

    • Gaston (49 comentarios) dijo:

      Gracias Nexus, no se me había ocurrido editar directamente el Get Header en la plantilla... Como vengo acostumbrado a no tocar esas cosas tan estructurales lo había pasado por alto!

  9. biel salas (2 comentarios) dijo:

    Yo me estoy iniciando en la creación de themes y me interesa mucho esta opción, pero no hay manera, no sale. Sustituyo el codigo

    por este

    y finalmente me da error. Si algun experto lo puede probar y dar una solución, gracias.
    Mientras probaré la opción que dan en el comentario de single.php

  10. [...] WordPress encontré un post de códigos para wordpress; y tomando como referencia uno que permitía rotar los header según la página, logré llamar x archivo php cuando accediera a la página x. Para ello, en el page.php de mi [...]

  11. pako (1 comentarios) dijo:

    No hay manera, he probado con los dos códigos y me da siempre error? Falta alguna fucntion o algo? qué puede ser? siempre me da error de sintaxis. gracias

  12. obc (1 comentarios) dijo:

    He caído en esta página buscando solución a lo que quería hacer: mostrar los artículos individuales pertenecientes a una categoría determinada con un estilo diferente a los archivos individuales de las demás categorías (concretamente con una pequeña cabecera en la parte superior del artículo).

    Creo que el código de Nexusbba es correcto, pero creo que está incompleto o al menos no queda claro cómo usarlo.

    La solución que he encontrado es:
    - Crear un archivo "single.php" que incluya solamente el siguiente código:

    (tantas como se quiera, como dice Nexusbba)

    - Crear un archivo "single-1.php" con el código completo habitual que llevaría el archivo "single.php"
    - Crear un archivo "single-2.php" con el código completo habitual que llevaría el archivo "single.php", con las distinciones que se quieran.

    No sé si me he explicado bien, pero a mí me ha funcionado.

Escribe un Comentario

Conectar con Facebook

XHTML: Puedes usar estos códigos: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>



Subir

Participa en el Debate
  • victor: Yo diria que de las 4 horas que dura el video, 30 minutos son realmente necesarios, la...
  • Jepser Bernardino: La búsqueda avanzada en wordpress yo la he hecho con hidden fields donde puedo...
  • '-Rodrigo Alcoba: Yo pude :D probe en otro navegador y anduvo, se puede scar el logo que dice...
  • Mariano | Posicionamiento: Llevaba un tiempo buscando algo así. Funciona y de maravilla. Como...
  • Álvaro Felipe: A ver, desde que WordPress es opensource puede modificarse el código con lo cual...
Noticias Breves
  • El prestigioso diseñador web Rodrigo Galíndez, una vez más nos deleita con un impecable theme WordPress, de calidad premium, pero 100% gratis. Se trata de Modernist, de sutiles detalles minimalistas, con espacios equilibrados y un manejo profesional del blanco. Podés ver la demo y descargarlo aquí.

    [#5]

  • Si usas el plugin Simple Twitter Connect debes saber que desde hace un rato ya está disponible una actualización que incorpora el nuevo botón oficial de Twitter para compartir contenido.

    [#3]

  • Casi sin previo aviso está disponible WordPress 3.0.1 para descarga, de momento solo en inglés, en el sitio oficial. Esta actualización soluciona una cincuentena de pequeños fallos y poco más.

    [#14]


  • Ahora mismo en los FOROS ...
    Únete a la comunidad
    Usuarios Registrados
  • Acceder

  • Translate this Blog
    Spanish flagItalian flagChinese (Simplified) flagPortuguese flagEnglish flagGerman flagFrench flagJapanese flagRussian flagSwedish flagCatalan flagHebrew flag