2012-09-14 37 views
2

我正在使用WP-Ecommerce,並希望在單個產品頁面上顯示產品的類別。我尋覓了一圈,發現東西(發表羅漢本網站),幾乎工程:產品頁上的WP-Ecommerce展示類別名稱

function cdl_get_cat() { 
global $wp_query, $wpsc_query; 
$query_data = Array(); 
$cdl_post_id = wpsc_the_product_id(); 

$categories = wp_get_object_terms($cdl_post_id , 'wpsc_product_category'); 
//if product is associated w more than one category 
if(count($categories) > 1 && isset($wpsc_query->query_vars['wpsc_product_category'])) 
$query_data['category'] = $wpsc_query->query_vars['wpsc_product_category']; 
elseif(count($categories) > 0) 
$query_data['category'] = $categories[0]->slug; 

return $query_data['category']; 
} 
echo cdl_get_cat(); 

儘管此代碼做什麼,我需要它,它顯示的類別名稱爲塞(即眼影代替眼影)。我對PHP不太流利,所以我不確定需要更改什麼才能顯示名稱而不是slug。

回答

1

我一直在掙扎着這一切的一天,我又不是很大,在PHP要麼...但我得到了它刪除該位(我不明白..)工作:

//if product is associated w more than one category 
if(count($categories) > 1 && isset($wpsc_query->query_vars['wpsc_product_category'])) 
$query_data['category'] = $wpsc_query->query_vars['wpsc_product_category']; 
elseif(count($categories) > 0) 

然後改變 '塞' 到 '名' 在這裏:

$query_data['category'] = $categories[0]->slug; 

因此,所有你需要的是這樣的:

<?php function cdl_get_cat() { 
global $wp_query, $wpsc_query; 
$query_data = Array(); 
$cdl_post_id = wpsc_the_product_id(); 

$categories = wp_get_object_terms($cdl_post_id , 'wpsc_product_category'); 
$query_data['category'] = $categories[0]->name; 

return $query_data['category']; 

} 
echo cdl_get_cat(); 
?> 

,如果您有更多的T一個產品改變[0]的一個類別會給你一個不同的類別,因爲我認爲$ categories是一個包含所有關聯類別的數組。如果需要,您應該可以循環遍歷所有這些文件。我應該看看如何做到這一點!

0

哇,我想我已經得到它,或得到了更好的地方... 這應該得到與顯示產品相關的所有類別,然後循環出一個列表,用逗號分隔。

<?php function cdl_get_cat() { 
global $wp_query, $wpsc_query; 
$query_data = Array(); 
$cdl_post_id = wpsc_the_product_id(); 

$categories = wp_get_object_terms($cdl_post_id , 'wpsc_product_category'); 

$count = count($categories); 

    for ($i = 0; $i < ($count); $i++) { 
     $query_data['category'] = $categories[$i]->name; 
     echo $query_data['category']; 
     if ($i < ($count - 1)) 
     echo ", "; 
    } 

} 
cdl_get_cat(); 
?> 
1

謝謝,發現這個有用的添加類是在類別的產品:

<?php function cdl_get_cat() { 
    global $wp_query, $wpsc_query; 
    $query_data = Array(); 
    $cdl_post_id = wpsc_the_product_id(); 

    $categories = wp_get_object_terms($cdl_post_id , 'wpsc_product_category'); 

    $count = count($categories); 

     for ($i = 0; $i < ($count); $i++) { 
      $query_data['category'] = $categories[$i]->name; 
      echo $query_data['category']; 
      if ($i < ($count - 1)) 
      echo ", "; 
     } 

    } 
    cdl_get_cat(); 
    ?> 

然後在循環:

<li class="product_grid_item product_view_<?php echo wpsc_the_product_id(); ?> <?php cdl_get_cat(); ?>"> 

產品循環之前

相關問題