Исключение категории из архива категорий

23 мая 2012 г., 07:30:59
Просмотры: 19.6K
Голосов: 1

Ниже приведен код, с которым я работаю. На моем сайте WordPress была выполнена некоторая кастомизация. Это страница, которая отображает список категорий вместе с изображениями и кратким описанием. Я не совсем уверен, как исключить одну категорию из отображения на этой странице.

Это медиа-сайт, поэтому все категории соответствуют производствам. Я хотел бы создать блог, но не могу этого сделать, пока не найду способ исключить категорию из отображения на странице наших производств. Любая помощь будет полезна, обычно я разбираюсь в WordPress, но в данном случае я застрял.

<?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&exclude=ID_КАТЕГОРИИ');
                $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" /></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
Все ответы на вопрос 3
0

Если всё остальное работает так, как вам нужно, измените эту строку:

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

На эту:

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

Замените '10' на номер категории, которую вы хотите исключить.

23 мая 2012 г. 08:13:13
0

Вместо $categories = get_categories('hide_empty=0'); вы можете использовать:

$args = array("hide_empty" => true, "exclude" => 1); // замените 1 на ID категории, которую хотите исключить $categories = get_categories($args);

20 февр. 2019 г. 07:33:43
1

вы можете использовать этот код...

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

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

Спасибо,

Насир

23 мая 2012 г. 07:43:49
Комментарии

Это не сработает. Во-первых: вы вызываете функцию get_categories до инициализации переменной $args. Во-вторых: у вас ошибка в синтаксисе объявления массива. И в-третьих: вы неправильно используете аргумент exclude, там должны быть ID записей для исключения.

Eugene Manuilov Eugene Manuilov
23 мая 2012 г. 10:32:17