2017-10-10 212 views
1
單後

我要尋找一個代碼來顯示完整的產品信息(產品名稱,購買按鈕,圖片庫,描述等)全部產品我在一個單一職位上選擇的特定產品類別。獲取完整的產品一個產品類別的單頁上WooCommerce

沒有實際上這方面的任何短代碼,我不具備的技能由我自己寫的東西。

也許有人有一個解決方案?

+0

是那正是我所期待的。 – benrolf

回答

0

這是一個自定義短代碼在循環中使用現有的[product_page] woocommerce短代碼輸出定義產品類別(一個接一個)的所有單個產品頁面。

這種風俗簡碼有2個參數:

  • cat的產品類別的(塞)
  • limit職位的數量要顯示(默認是全部)

的代碼:

if(!function_exists('single_product_pages_by_category')) { 

    // Add Shortcode 
    function single_product_pages_by_category($atts) { 

     // Attributes 
     $atts = shortcode_atts(
      array(
       'cat' => '', 
       'limit' =>'-1' 
      ), 
      $atts, 'product_pages_cat' 
     ); 

     $posts = get_posts(array(
      'post_type'  => 'product', 
      'post_status' => 'publish', 
      'posts_per_page' => $atts['limit'], 
      'tax_query'  => array(array(
       'taxonomy' => 'product_cat', 
       'field'  => 'slug', 
       'terms'  => $atts['cat'], 
      )) 
     )); 

     $output = '<div class="products-in-'.$atts['cat'].'">'; // DIV container html tag (opening) 

     // Iterating though each product in the defined category 
     foreach($posts as $post){ 
      $post_id = $post->ID; // The Product ID 
      // Using WooCommerce [product_page] existing shortcode in the loop 
      $output .= '<div class="product-'.$post_id.'">' . do_shortcode ("[product_page id=$post_id]") . '</div>'; 
     } 

     $output .= '</div>'; // DIV container html tag (closing) 

     // Always return the output (never echo) 
     return $output; 
    } 

    add_shortcode('product_pages_cat', 'single_product_pages_by_category'); 
} 

代碼放在您的活動子主題的function.php文件(活動的主題或任何插件文件)。

測試和WooCommerce 3+工作


用法(例如,對於 '海報' 的產品類別蛞蝓):

[product_pages_cat cat="posters"] 
+0

嘿。非常感謝你!實際上它不能100%地工作,因爲我認爲它會起作用。它示出了下面彼此每一個產品,但描述丟失和它總是顯示「同類產品」,其示出每個產品的下方。是否可以在帖子末尾放置「類似產品」一次,在最後一個產品下方顯示?併爲每個展示的產品添加說明? – benrolf

+0

這就是它看起來像此刻:http://adventskalenderkaufen.de/katzen-adventskalender/ – benrolf

相關問題