我要尋找一個代碼來顯示完整的產品信息(產品名稱,購買按鈕,圖片庫,描述等)全部產品我在一個單一職位上選擇的特定產品類別。獲取完整的產品一個產品類別的單頁上WooCommerce
沒有實際上這方面的任何短代碼,我不具備的技能由我自己寫的東西。
也許有人有一個解決方案?
我要尋找一個代碼來顯示完整的產品信息(產品名稱,購買按鈕,圖片庫,描述等)全部產品我在一個單一職位上選擇的特定產品類別。獲取完整的產品一個產品類別的單頁上WooCommerce
沒有實際上這方面的任何短代碼,我不具備的技能由我自己寫的東西。
也許有人有一個解決方案?
這是一個自定義短代碼在循環中使用現有的[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"]
是那正是我所期待的。 – benrolf