在单独的div中显示新帖子类别

时间:2017-04-07 作者:gallantsun

(1) 你好,聪明人,这是我第一次创建模板。。。我对我的目标做了一个小草图:enter image description here

我可以通过在每个分区之前开始循环,并拉动每个特定类别的帖子来做到这一点:

$params = array(\'posts_per_page\' => 4, \'post_type\' => \'product\', \'product_cat\' => \'Pies\', ); $wc_query = new WP_Query($params);
但通常这只适用于指定的类别,因此我需要它自动添加新创建类别的产品(如类别3之后的类别4…)

我如何才能做到这一点?

(2) 我希望在每个类别div的底部添加一个“more”按钮,以便显示类别的其余帖子,如下所示:

when more is toggled

这可以用wordpress完成吗?或者我是否创建了一个JQuery函数来增加“每页的posts\\u”?我真的很感谢你的时间和帮助。

1 个回复
SO网友:Johansson

您应该首先进行查询以检索所有类别。这可以通过以下方式完成:

$categories = get_categories(array(\'hide_empty\'=> 0,));
现在您已经有了作为对象的类别列表,您必须运行foreach 要输出其内容:

foreach ($categories as $category) {
    $params = array(
        \'posts_per_page\' => -1, 
        \'post_type\' => \'product\', 
        \'cat\' => $category->term_id, 
    ); 
    $wc_query = new WP_Query($params);
    //From here you can start outputting your query
    if ($wc_query->have_posts()) { ?>
        <div id="<?php echo $category->term_id;?>" class="product-list-grid">
        while ($wc_query->have_posts()) {
            $wc_query->the_post(); ?>
            <div class="product-grid">
                <a href="<?php the_permalink(); ?>">
                   <?php the_post_thumbnail(); ?>
                   <?php the_title(); ?>
                </a>
            </div><?php
        }
        wp_reset_postdata();?>
        <a class="more-products" href="#" onclick=" document.getElementById("<?php echo $category->term_id;?>").style.height = "auto";">More</a>
        </div><?php
    }
}
别忘了使用wp_reset_postdata() 完成查询后。

现在让我们来设计一下,好吗?

.product-list-grid {
    width:100%;
    height:100px;
    padding:10px;
    float:left;
    display:block;
    position:relative
}

.product-grid {
    float:left;
    width:auto;
    height:80px;
    display:block
}

.product-grid img {
    float:left;
}

.more-products {
   position:absolute;
   bottom:10px;
   right:10px;
}
现在,单击More 按钮,您的所有产品都将可见。请记住,如果希望此操作正常运行,必须更改查询产品的数量才能返回所有可用产品。

相关推荐

Last post in loop when even

我使用这段代码尝试检查每个页面上的最后一篇文章循环是否均匀,以便添加不同的类。这可以检查它是否是最后一篇文章:( ( 1 == $wp_query->current_post + 1 ) == $wp_query->post_count ) 这可以检查它是否是一个均匀的帖子( $wp_query->current_post % 2 == 0 ) 但这并没有检查这是否是最后一篇文章,甚至。 ( ( 1 == $wp_query->current_post + 1