Temas (XVI) plantillas de categorías
Como hemos visto hasta ahora si un archivo de la jerarquía no existe WordPress acude al archivo index.php, pero podemos crear una archivo para las plantillas de categorías e ir añadiendo diferentes funcionalidades dependiendo de que tipo de categoría se trate… de hecho se puede dejar una archivo category.php exactamente igual que el index.php, incluyendo etiquetas condicionales para las diferentes categorías, o bien, y es la opción que prefiero, podemos crear diferentes plantillas de categorías, siendo estas específicas para cada categoría.
WordPress siempre busca desde lo más a lo menos específico, de modo que si no encuentra una plantilla determinada para un tipo de entrada, en nuestro caso actual, categorías, irá buscando hasta encontrar que archivo utilizar aunque este sea el index.php.
Para crear una plantilla de categoría para una categoría específica, solo debemos de seguir el siguiente patrón; category-[slug].php donde el slug es el propio de la categoría, quedando algo así: category-videos.php.
Ahora bien, lo que hacemos es que en este archivo podemos mostrar la información como deseemos y no solo del bucle también podemos introducir imágenes, textos, scripts…
De este modo tomando el slug WP identifica que plantilla debe de escoger y la selecciona para mostrar el contenido para esa categoría específica.
En el siguiente ejemplo donde hemos tomado el código del index de la plantilla que estábamos creando como base hemos creado nuestro archivo category-videos.php
<?php get_header(); ?> <img src="<?php bloginfo('template_directory')?>/img/video.png" width="100%"/> <?php if(have_posts()) : while (have_posts()) : the_post(); ?> <article> <h3><a href="<?php the_permalink();?>"><?php the_title();?></a></h3> <small><?php the_time(get_option('date_format'));?> <?php the_category(', ');?></small> <?php the_excerpt();?> <a href="<?php the_permalink();?>"><?php _e('Seguir leyendo →', 'vo');?></a> </article> <?php endwhile; else:?> <article> <h3><?php _e('No hay contenidos disponibles');?></h3> <?php _e('No hay contneidos que correspondan con esta página, por favor realice una busqueda', 'vo');?> <?php get_search_form();?> </article> <?php endif; ?> <?php if( get_next_posts_link() || get_previous_posts_link()){ ?> <div> <?php next_posts_link(__('← Previos', 'vo'));?> <?php previous_posts_link(__(' Más recientes →', 'vo'));?> </div> <?php }?> </section> <?php get_sidebar('dos'); get_footer(); ?>
Si lo observamos y comparamos con nuestro index.php de la plantilla base, tan solo veremos una diferencia, en la línea 2 hemos introducido una imagen para que la cargue cuando estemos en la categoría videos.
De este modo vemos que mucho más que en el código per sé, el manejo de las plantillas de categorías se encuentra más en el uso de una buena jerarquía de archivos. Cosa que también sucede con otros tipos de plantillas como tag.php, archive.php… haciendo que una vez que se entienden los conceptos básicos el desarrollo de plantillas o incluso la adaptación de plantillas html5 sea muy sencillo.
There is One Comment.