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

Php WooCommerce-如果链接到不同的类别,请避免添加相同的产品,php,wordpress,woocommerce,categories,product,Php,Wordpress,Woocommerce,Categories,Product,我有相同的产品链接到不同的子类别,我需要分别保存它们,而不是添加到购物车/结帐等 我认为最好的方法是使用名为“category\u name”的变量保存它们,并使用值[$product\u category]在循环中区分它们,并在购物车/结帐页面中显示它们,如本例所示: 1号房间(主要类别) 墙体工程(子类别) 清洁时间Q.ty 4(产品) ——————————————————————————————————————— 房间2(主要类别) 墙体工程(子类别) 清洁时间Q.ty 8(产品) ———

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

我认为最好的方法是使用名为“category\u name”的变量保存它们,并使用值
[$product\u category]
在循环中区分它们,并在购物车/结帐页面中显示它们,如本例所示:

1号房间(主要类别)
墙体工程(子类别)
清洁时间Q.ty 4(产品)
———————————————————————————————————————
房间2(主要类别)
墙体工程(子类别)
清洁时间Q.ty 8(产品)
———————————————————————————————————————
房间3(主要类别)
墙体工程(子类别)
清洁时间Q.ty 8(产品)
而不是像现在这样(在1行中):

清洁windows小时数Q.ty 20 我在网上找到了这个用于检索主类别名称的代码片段,但我不知道如何使用和保存该值,以及如何在购物车/结帐中显示它,如上面的示例所示:

// 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\u category
创建产品变体,而不为所有产品创建/插入变体(在后端创建时),也不在简单产品页面(前端)中显示此变体

我怎样才能做到这一点


提前感谢您的帮助。

完成。为函数wc\u添加}删除\u所有\u数量\u字段。谢谢。我解决了这个插件,同意在一次内为所有产品创建一个变体,并将其显示在购物车和chechout页面中。