【问题标题】:exclude category from wp_count_posts()从 wp_count_posts() 中排除类别
【发布时间】:2015-01-30 18:47:54
【问题描述】:

我试图从 wp_count_posts() 中排除一个类别。我发现数百篇文章解释了如何为特定文章类型执行 WP_Query 并获取类别,然后排除具有特定术语或标签的文章。

然而,如何从特定帖子类型中排除几个类别的方法并不十分公开。一旦我这样做了,我还需要返回一个帖子计数

请参阅下面我正在使用的内容。寻找一种替代方法来执行我在下面的操作,这将允许我排除 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(); ?>

【问题讨论】:

    标签: php categories wordpress


    【解决方案1】:

    这里是修复。我必须在 $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);
    ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-29
      • 2014-12-27
      • 1970-01-01
      • 2018-05-17
      • 2022-01-01
      • 1970-01-01
      相关资源
      最近更新 更多