Exclude categorie din arhiva de categorii

23 mai 2012, 07:30:59
Vizualizări: 19.6K
Voturi: 1

Am inclus mai jos codul la care lucrez. Am făcut unele personalizări pe un site WordPress al meu. Aceasta este o pagină care afișează o listă de categorii împreună cu imagini și o scurtă descriere. Nu sunt sigur cum să exclud o singură categorie de pe această pagină.

Acesta este un site media, așadar toate categoriile corespund unor producții. Aș dori să creez un blog, dar nu pot până nu găsesc o metodă de a exclude categoria respectivă de pe pagina noastră de producții. Orice ajutor ar fi apreciat, de obicei mă descurc cu WordPress, dar acum sunt blocat.

<?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
                // Obține toate categoriile, excluzând-o pe cea cu ID-ul 5
                $categories = get_categories('hide_empty=0&exclude=5');
                $imgs = get_option('ciii_image_names');
                $upl = wp_upload_dir();

                foreach ($categories as $c): ?>
                    <?php
                    $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" alt="<?php echo $c->cat_name ?>" title="<?php echo $c->cat_name ?>" /></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
Toate răspunsurile la întrebare 3
0

Dacă totul funcționează așa cum dorești, schimbă această linie:

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

În aceasta:

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

Înlocuiește '10' cu numărul categoriei pe care dorești să o excluzi.

23 mai 2012 08:13:13
0

În loc de $categories = get_categories('hide_empty=0'); poți folosi

$args = array("hide_empty" => true, "exclude" => 1); // înlocuiește 1 cu ID-ul Categoriei pe care doriți să o excludeți $categories = get_categories($args);

20 feb. 2019 07:33:43
1

poți folosi acest cod...

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

<?php $args = array(
    'type'                     => 'post',
    'orderby'                  => 'name',
    'order'                    => 'ASC',
    'hide_empty'               => 1,
    'exclude'                  => 'ID';
?> 

Mulțumesc,

Nasir

23 mai 2012 07:43:49
Comentarii

nu va funcționa. În primul rând: apelezi funcția get_categories înainte de inițializarea variabilei $args. În al doilea rând: ai o eroare în sintaxa declarării array-ului. Și în al treilea rând: folosești argumentul exclude incorect, acolo ar trebui să fie ID-urile postărilor care trebuie excluse.

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