2012-11-07 33 views
7

Tôi đang sử dụng chủ đề đã được thiết kế cho wordpress và bây giờ thay vì các bài đăng trên blog thông thường, tôi muốn hiển thị các sản phẩm WooCommerce (các loại bài đăng tùy chỉnh mà tôi cho là).Tạo vòng lặp WooCommerce tùy chỉnh

Đây là truy vấn hiện tại với vòng lặp hiển thị:

<?php 
       $args = array(
        //'posts_per_page' => '2', 
        'paged' => get_query_var('paged') 
       ); 
       $homepage_query = new WP_Query($args); 
      ?> 
      <?php //query_posts('posts_per_page=4&paged='.get_query_var('paged')); ?> 
      <?php if (have_posts()) : ?> 
       <?php while ($homepage_query->have_posts()) : $homepage_query->the_post(); ?> 
        <?php if($style == 'blog_style') { ?> 
        <div id="blog-style" class="post-box"> 
         <?php get_template_part('content', 'blog'); ?> 
        </div> 
        <?php } else { ?> 
        <div class="post-box grid_4 <?php aero_post_box_class(); ?>"> 
         <?php get_template_part('content', ''); ?> 
        </div> 
        <?php } ?> 
       <?php endwhile; ?> 

Có một cách để thêm tùy chọn để $args nên các sản phẩm hiển thị vòng lặp WooCommerce? Tôi cũng đang sử dụng phân trang với vòng lặp này, được yêu cầu trong dự án này, vì vậy đó là lý do tại sao điều quan trọng là sử dụng vòng lặp này.

Trả lời

22

Bạn sẽ có thể truy cập vào các sản phẩm thông qua các vòng lặp, thiết lập các post_type arg để product:

<?php 

// Setup your custom query 
$args = array('post_type' => 'product', ...); 
$loop = new WP_Query($args); 

while ($loop->have_posts()) : $loop->the_post(); ?> 

    <a href="<?php echo get_permalink($loop->post->ID) ?>"> 
     <?php the_title(); ?> 
    </a> 

<?php endwhile; wp_reset_query(); // Remember to reset ?> 
+0

Có vòng lặp bây giờ, tuyệt vời! – jOpacic

+8

Nếu bạn muốn nhận được giá, vv bạn có thể muốn làm: '$ product = get_product ($ loop-> post);' và sau đó sử dụng nó giống như 'WC_Product' được sử dụng:' echo $ product-> get_price_html (); 'v.v. – Ciantic

0

Bạn cũng có thể nhận được loại sử dụng thi đang

 $terms = get_terms('product_cat'); 

     foreach ($terms as $term) { 
     $term_link = get_term_link($term, 'product_cat'); 
     echo '<li><a href="' . $term_link . '">' . $term->name . '</a></li>'; 
     } 

Nếu bạn muốn chỉ mục mẹ sau đó

wp_list_categories('taxonomy=product_cat&orderby=order&title_li=&depth=1'); 
Các vấn đề liên quan