我刚开始编码,无法想出一个解决方案来解决购物车如何从 woo 产品附加组件扩展中增加费用。该扩展程序目前在购物车底部的单独行项目中添加了费用,问题是附加组件是为我销售的每件产品添加的,您最终可能会为同一附加组件添加 10 或 20 个行项目。我试图将其压缩为 4 个附加组件类别,并让这些类别只是迭代类别的数量,以便在购物车中正确添加成本。我认为问题出在检查统一费率标签的 ID,将它们添加到购物车时总是不同的,我不确定如何将它们分类到每个类别中。我已将此代码添加到我的子主题中的函数文件中。 任何建议表示赞赏。
这是我的第一次尝试,缩小了统一费率标签的显示方式,但每次将附加组件添加到购物车时仍会添加单独的订单项。
add_filter( 'pewc_flat_rate_label', function( $flat_rate_label, $id, $flat_rate ) {
static $i = 1;
$logo_ids = array(349, 649, 1177, 1456, 1460);
$class_change_ids = array(329, 1181, 1463);
$place_change_ids = array(348, 1180, 1462);
$text_id = 1736;
$setup_ids = array(328, 1175, 1458);
if ( in_array( explode("_", $id)[1], $logo_ids ) ) {
return "Logo-" . $i++;
} elseif ( in_array( explode("_", $id)[1], $class_change_ids ) ) {
return "Class Changes-" . $i++;
} elseif ( in_array( explode("_", $id)[1], $place_change_ids ) ) {
return "Place Changes-" . $i++;
} elseif ( explode("_", $id)[1] == $text_id ) {
return "Text";
} elseif ( in_array( explode("_", $id)[1], $setup_ids ) ) {
return "Set Up-" . $i++;
}
return $flat_rate_label;
}, 10, 3 );
我已经尝试过了,但是购物车只添加了一次类别,并且没有向购物车添加任何未来的添加。我喜欢它向客户显示的方式,但无法正确添加。
add_filter( 'pewc_flat_rate_label', function( $flat_rate_label, $id, $flat_rate ) {
static $i = 1;
$logo_ids = array(349, 649, 1177, 1456, 1460);
$class_change_ids = array(329, 1181, 1463);
$place_change_ids = array(348, 1180, 1462);
$text_id = 1736;
$setup_ids = array(328, 1175, 1458);
if ( in_array( explode("_", $id)[1], $logo_ids ) ) {
return "Logo";
} elseif ( in_array( explode("_", $id)[1], $class_change_ids ) ) {
return "Class Changes";
} elseif ( in_array( explode("_", $id)[1], $place_change_ids ) ) {
return "Place Changes";
} elseif ( explode("_", $id)[1] == $text_id ) {
return "Text";
} elseif ( in_array( explode("_", $id)[1], $setup_ids ) ) {
return "Set Up";
}
return $flat_rate_label;
}, 10, 3 );