结合 WooCommerce 中的多个购物车项目永久链接更改

Combining multiple cart item permalink changes in WooCommerce

我想使用 WooCommerce 框架更改我的购物车项目的永久链接。

我有以下内容:

function addCustomFieldToUrl_1($permaLink, $cart_item, $cartItemId){
                
    if ($cart_item['product_id'] == "1713" ) {
        $newPermalink = "www.google.com";
    }
    return $newPermalink;
}

function addCustomFieldToUrl_2($permaLink, $cart_item, $cartItemId){
                
    if ($cart_item['product_id'] == "2188" ) {
        $newPermalink = "www.example.com";
    }
    return $newPermalink;
}

add_filter('woocommerce_cart_item_permalink', 'addCustomFieldToUrl_1', 10, 3);
add_filter('woocommerce_order_item_permalink', 'addCustomFieldToUrl_1', 10, 3);

add_filter('woocommerce_cart_item_permalink', 'addCustomFieldToUrl_2', 10, 3);
add_filter('woocommerce_order_item_permalink', 'addCustomFieldToUrl_2', 10, 3);

但是,使用此方法仅更改了第二个购物车永久链接。如果我删除它,那么第一个就会改变。

如何将这两个功能合二为一并对其进行扩展(因为我有多个产品需要更改固定链接?)

你可以这样应用

function addCustomFieldToUrl( $permalink, $cart_item, $cartItemId ) {
                
    if ($cart_item['product_id'] == 1713 ) {
        $permalink = "www.google.com";
    } elseif ($cart_item['product_id'] == 2188 ) {
        $permalink = "www.example.com";
    }

    return $permalink;
}
add_filter('woocommerce_cart_item_permalink', 'addCustomFieldToUrl', 10, 3 );
add_filter('woocommerce_order_item_permalink', 'addCustomFieldToUrl', 10, 3 );