Excluir categoría del archivo de categorías en WordPress

23 may 2012, 07:30:59
Vistas: 19.6K
Votos: 1

A continuación incluyo el código con el que estoy trabajando. Hice algunos ajustes personalizados en un sitio WordPress. Esta es una página que muestra una lista de categorías junto con imágenes y una breve descripción. No estoy seguro de cómo excluir una sola categoría de esta página.

Este es un sitio de medios, por lo que todas las categorías corresponden a producciones. Me gustaría crear un blog, pero no puedo hacerlo hasta que encuentre una manera de excluir la categoría de nuestra página de producciones. Cualquier ayuda sería apreciada, normalmente puedo resolver problemas de WordPress, pero este me tiene atascado en este momento.

<?php include( TEMPLATEPATH . '/admin/admin-init.php' ); ?>
    <div id="main">

    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>

        <div class="post" id="post-<?php the_ID(); ?>">
            <h2><?php the_title(); ?></h2>
            <div class="post-content">
                <?php the_content(); ?>
            </div>

    <?php endwhile; endif; ?>

            <div class="divider"></div>

            <div class="image-gallery categories-archive">  

                <?php

                $categories = get_categories('hide_empty=0');
                $imgs = get_option('ciii_image_names');
                $upl = wp_upload_dir();

                foreach ($categories as $c): ?>
                    <?php
                    // Excluir categoría con ID específico (ej. ID 5)
                    if($c->term_id == 5) continue;
                    
                    $img = isset($imgs[$c->term_id]) ? $upl['baseurl'].'/category-images-ii/'.$imgs[$c->term_id]['original'] : $upl['baseurl'].'/dummy-285x175.png';
                    ?>

                    <div class="one_third">
                        <div class="post-img-medium">
                            <a href="<?php echo get_category_link($c->term_id) ?>" rel="bookmark" title="<?php echo $c->cat_name ?>"><img src="<?php echo $img ?>" width="285" /></a>
                        </div>
                        <h2 class="post-title"><a href="<?php echo get_category_link($c->term_id) ?>" rel="bookmark" title="<?php echo $c->cat_name ?>"><?php echo $c->cat_name ?></a></h2>
                        <p><?php echo $c->description ?></p>
                    </div>
                <?php endforeach; ?>
                <div class="clear"></div>

            </div>

        </div><!--post-->

    </div><!--main-->
0
Todas las respuestas a la pregunta 3
0

Si todo lo demás está funcionando como deseas, cambia esta línea:

$categories = get_categories('hide_empty=0');

Por esta:

$categories = get_categories('hide_empty=0&exclude=10');

Reemplaza '10' con el número de categoría que deseas excluir.

23 may 2012 08:13:13
0

En lugar de $categories = get_categories('hide_empty=0'); puedes usar:

$args = array("hide_empty" => true, "exclude" => 1); // reemplaza 1 con el ID de la categoría que deseas excluir $categories = get_categories($args);

20 feb 2019 07:33:43
1

puedes usar este código...

<?php $categories = get_categories( $args ); ?> 

<?php $args = array(
    'type'                     => 'post', // Tipo de contenido
    'orderby'                  => 'name', // Ordenar por nombre
    'order'                    => 'ASC',  // Orden ascendente
    'hide_empty'               => 1,     // Ocultar categorías vacías
    'exclude'                  => 'ID';  // Excluir por ID
?> 

Gracias,

Nasir

23 may 2012 07:43:49
Comentarios

no funcionará. Primero: llamas a la función get_categories antes de la inicialización de la variable $args. Segundo: tienes un error en la sintaxis de declaración del array. Y tercero: usas el argumento exclude incorrectamente, deberían ser los IDs de los posts a excluir.

Eugene Manuilov Eugene Manuilov
23 may 2012 10:32:17