2015-01-30 2 views
0

Я пытаюсь исключить категорию из wp_count_posts(). Я нашел сотни сообщений, которые объясняют, как сделать WP_Query для определенного типа сообщений и получить категорию, а затем исключить сообщения с определенными терминами или тегами.исключить из категории wp_count_posts()

Однако не очень популярны, как исключить несколько категорий из определенного типа сообщений. Как только я это сделаю, мне нужно также вернуть почтовый индекс

См. Ниже, с чем я работаю. Ищете альтернативный метод для того, чтобы сделать то, что у меня есть ниже, позволит мне исключить 3 категории.

<?php 
$count_posts = wp_count_posts('sponsors'); 
$published_posts = $count_posts->publish; 
$count = $published_posts/7; 
        $args = array(
         'posts_per_page' => -1, 
         'post_type' => 'sponsors' 
         ); 
         query_posts($args); 
       ?> 
       <?php if(have_posts()) : $i = 0; $f =7; $countr=0; $z = 0;?> 
       <div class="gallery-sponsors"> 
        <strong class="title">Special Thanks To Our Sponsors</strong> 
        <div class="mask"> 
         <div class="slideset"> 
          <?php for ($k = 1; $k <= $count; $k++): 
          $countr = $countr+$f;?> 
           <?php if ($k==1):?> 
           <?php else:?> 
            <?php $i = $i+$f;?> 
           <?php endif;?> 
          <div class="slide"> 
           <ul class="sponsors-list"> 
            <?php $z=0;?> 
           <?php while (have_posts()) : the_post(); ?> 
            <?php $z++; if ($z<=$countr and $z>$i): ?> 
             <li> 
              <div class="img-hold"> 
               <a href="<?php the_permalink(); ?>"><?php the_post_thumbnail('sponsors-gallery-home'); ?><?php echo $z;?></a> 
              </div> 
             </li> 

            <?php endif;?> 
           <?php endwhile; ?> 
           </ul> 
          </div> 
          <?php endfor;?> 
         </div> 
        </div> 

        <nav class="pagination"><?php $k =0;?> 
         <ul> 
          <?php while ($q<$count-1): $q++;?> 
           <?php if ($q==1):?> 
            <li class="active"><a href="#"><?php echo $q;?></a></li> 
           <?php else:?> 
            <li><a href="#"><?php echo $q;?></a></li> 
           <?php endif;?> 
          <?php endwhile;?> 
         </ul> 
        </nav> 
       </div> 
       <?php endif;?> 
       <?php wp_reset_query(); ?> 

ответ

0

Вот исправление. Мне пришлось добавить следующее к $ args.

'cat' => '-71,-72,-73' 

Довольно простой, но это очень мало документации о том, как сделать это с wp_count_posts(). Вот мое полное решение.

<?php 
$count_posts = wp_count_posts('sponsors'); 
$published_posts = $count_posts->publish; 
$count = $published_posts/7; 
$args = array(
    'posts_per_page' => -1, 
    'post_type' => 'sponsors', 
    'cat' => '-71,-72,-73' 
    ); 
    query_posts($args); 
?> 
Смежные вопросы