0

我在我的主题中开发了一个自定义模板,我想在其中调用某些 Woocommerce 类别以显示在页面的不同部分。我知道我可以使用这个简码:

<?php echo do_shortcode('[product_categories columns="6" number="6"]'); ?>

显示类别,但是我遇到的问题是我需要在模板中多次调用该短代码,每次调用它都会显示相同的 6 个类别。我想更自由地控制“数字”,所以我猜某种计数器会起作用,然后将它分配给一个变量?对此仍然有点新,但这似乎是基于我知道如何做的最合乎逻辑的方法,除非有人可以为我推荐不同的东西。

最终结果是页面顶部将有类别 1-6,页面中间可能有 6-9,页面底部将有 9-15 或其他。我什至不知道短代码是否是最好的方法,但我已经坚持了几个小时:/

我是否需要运行类似于:

<?php $categories = get_terms( 
                      'product_cat', 
                      array(
                          'hide_empty' => 0,
                          'number'     => 6,   // This gives you 6 terms
                          'offset'     => 6    // This offsets the query, 0 means 1-6, 6 means 7-12...etc
                      )
                  );

                foreach ($categories as $cat) {

                    //print_r($cat);

                    $category_id = $cat->term_id;
                        $thumbnail_id   = get_woocommerce_term_meta( $cat->term_id, 'thumbnail_id', true );
                        $image = wp_get_attachment_url( $thumbnail_id );
                        echo '<div class="two columns end"><a href="'. get_term_link($cat->slug, 'product_cat') .'"><img height="150" width="150" src="'.$image.'" alt="'. $cat->name .'"/>'. $cat->name .'</a></div>';
                    }
                 ?>

我想我只需要一点帮助就可以了,谢谢

4

1 回答 1

0

看看http://codex.wordpress.org/Function_Reference/get_terms

你可以这样做:

$categories = get_terms( 
    'product_cat', 
    array(
        'hide_empty' => 0,
        'number'     => 6,   // This gives you 6 terms
        'offset'     => 0    // This offsets the query, 0 means 1-6, 6 means 7-12...etc
    )
);

您仍然需要设置输出样式。

执行 aprint_r($categories);查看输出的格式。

于 2013-03-07T10:09:40.310 回答