我有相同的产品链接到不同的子类别,我需要单独保存,而不是添加到购物车/结帐等...
我认为最好的方法是使用名为 "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
创建产品变体,而不创建/插入所有产品的变体(在后端创建时)在简单的产品页面(前端)中显示这种变化。
我怎样才能做到这一点?
提前感谢您的帮助。