2012-06-20 6 views
0

Wordpress 용 Shopp 플러그인을 사용하여 모든 제품의 목록을 가져 오려고합니다. 내가 뭘 놓치고 있니? 카테고리 목록과 각 카테고리의 모든 제품을 얻을 수 있지만 카테고리가 지정되지 않은 제품은 표시되지 않습니다.Shopp을 사용하여 모든 제품을 나열하는 방법

는 여기에 내가있어 무엇 :

<?php 
    $cats = shopp_product_categories(); 
    $dropdown = array(); 
    foreach ($cats as $cat) : 
     $dropdown[$cat->slug]['group_name'] = $cat->name; 
     $dropdown[$cat->slug]['group_items'] = shopp_category_products($cat->id); 
    endforeach; 
?> 

나는 또한 카테고리 분류 안된 항목의 배열을 가진 $ 드롭 다운 [ '분류'] [ 'group_items를'] 추가하고 싶습니다.

미리 감사드립니다.

답변

2

나는 그것을 알아 냈다. :)

그것은이처럼 보이는 결국 :

$cats = shopp_product_categories(); 
$cat_ids = array(); 
$dropdown = array(); 
foreach ($cats as $cat) : 
    $cat_ids[] = $cat->id; 
    $dropdown[$cat->slug]['group_name'] = $cat->name; 
    $dropdown[$cat->slug]['group_items'] = shopp_category_products($cat->id); 
endforeach; 

$products = new WP_Query(array(
    'post_type' => 'shopp_product', 
    'posts_per_page' => -1, 
    'tax_query' => array(
     array(
      'taxonomy' => 'shopp_category', 
      'field' => 'id', 
      'terms' => $cat_ids, 
      'operator' => 'NOT IN' 
     ) 
    ) 

)); 

$dropdown['uncategorized']['group_name'] = 'Uncategorized'; 
while ($products->have_posts()) : $products->the_post(); 
    $dropdown['uncategorized']['group_items'][] = array(
     'id' => get_the_ID(), 
     'name' => get_the_title() 
    ); 
endwhile; 
5

이 간단한 솔루션은 나를 위해 큰 일 : 1000 hardlimit이

<?php shopp('storefront','catalog-products','load=true&show=999'); if (shopp('collection','has-products')) { while (shopp('collection','products')) { ?><a href="<?php shopp('product','url'); ?>"><?php shopp('product','name'); ?></a><?php } } ?> 
+0

그래서 999에 쇼를 설정하면 중복입니다. show 옵션은 1000 개가 넘는 제품이 있거나 몇 가지만 보여주고 싶을 때 사용할 수 있습니다. – RST

관련 문제