WooCommerce - 如果链接到不同的类别,请避免添加相同的产品

时间:2016-07-09 07:19:33

标签: php wordpress woocommerce categories product

我有相同的产品链接到不同的子类别,我需要单独保存,而不是添加到购物车/结帐等...

我认为最好的方法是使用名为 "category_name" 的变体保存它们,其值为 [$product_category] ,以便在循环中区分它们并显示它们在购物车/结帐页面中,如下例所示:

Room_1 (main category)
Wall_works (subcategory)
Cleaning_windows hours Q.ty 4 (product)
———————————————————————————————————————
Room_2 (main category)
Wall_works (subcategory)
Cleaning_windows hours Q.ty 8 (product)
———————————————————————————————————————
Room_3 (main category)
Wall_works (subcategory)
Cleaning_windows hours Q.ty 8 (product)

并不像现在这样(在一行中)

Cleaning_windows hours Q.ty 20 

我在网上找到了这个用于检索 main_category 名称的代码段,但我不知道如何使用和保存该值,以及如何在购物车/结帐中显示它,就像我上面的例子中一样:

// retrieve category name
function get_product_category_by_id( $category_id ) {
    $term = get_term_by( 'id', $category_id, 'product_cat', 'ARRAY_A' );
    return $term['name'];
}

$prod_terms = get_the_terms( $post->ID, 'product_cat' );
foreach ($prod_terms as $prod_term) {

    // gets product cat id
    $product_cat_id = $prod_term->term_id;

    // gets an array of all parent category levels
    $product_parent_categories_all_hierachy = get_ancestors(    $product_cat_id, 'product_cat' );  

    // This cuts the array and extracts the last set in the array
    $last_parent_cat = array_slice($product_parent_categories_all_hierachy, -1, 1, true);
        foreach($last_parent_cat as $last_parent_cat_value){
        // $last_parent_cat_value is the id of the most top level category, can be use whichever one like

    }
}

$product_category = get_product_category_by_id( $last_parent_cat_value );

我需要在添加到购物车时在所有产品中默认保存 value => $product_category 创建产品变体,而不创建/插入所有产品的变体(在后端创建时)在简单的产品页面(前端)中显示这种变化。

我怎样才能做到这一点?

提前感谢您的帮助。

0 个答案:

没有答案