Excluir categorías de la lista usando query_posts
El siguiente tutorial es bastante específico, más adelante voy a escribir sobre las enormes posibilidades que ofrecen las etiquetas condicionales en WordPress.
Si tienes instalado un plugin para crear slideshows seguramente sabes que la mayoría de estos filtran los posts basándose en categorías, es decir, el usuario indica al plugin de qué categorías tomar los posts para crear el slideshow. Y algunas veces quieres tener una categoría totalmente aparte de los posts normales, para que los posts que aparecen en el slideshow no se muestren en el loop.
En ese caso, necesitas excluir dicha categoría del loop en el index.php y del widget de categorías (si lo usas).
La solución es usar query_posts en el loop y en la lista de categorías. Busca el loop del index.php, que debería verse así:
<?php if (have_posts()) : ?> <?php while (have_posts()) : the_post(); ?>
Y agrega la siguiente línea entre las 2 anteriores:
<?php query_posts ("cat=-nro_de_categoria"); ?>Donde nro_de_categoria es el id de la categoría que quieres excluir, y signo – (menos) significa excluir.
Ahora pasemos a la lista de categorías. Busca lo siguiente en el sidebar.php:
<ul> <?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('Menú lateral') ) : ?> <?php endif; ?> </ul>
Y agrega las siguientes modificaciones:
<ul> <?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('nombre_de_tu_sidebar') ) : ?> <?php endif; ?> <li> <h2>Categorías</h2> <ul> <?php wp_list_categories('exclude=nro_de_categoria'); ?> </ul> </li> </ul>
Donde nro_de_categoria es el id de la categoría a excluir
