简化购物车 Wordpress/WooCommerce 中的订单项

问题描述 投票:0回答:0

我刚开始编码,无法想出一个解决方案来解决购物车如何从 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 );
arrays hook-woocommerce
© www.soinside.com 2019 - 2024. All rights reserved.