WooCommerce 会员 link 具有多个 URL

WooCommerce affiliate link with multi URLs

我目前 运行 一个在 WooCommerce 中有产品的网站。产品 URL links 到联属网站,自定义 functions.php 脚本使用以下代码将联属网络营销 ID 附加到外部 URL:

       *  Custom Add Affiliate link to Buy Product
 */
 
add_filter( 'woocommerce_product_add_to_cart_url', 'custom_product_add_to_cart_url', 20, 2 );
function custom_product_add_to_cart_url( $add_to_cart_url, $product ){
    if( $product->is_type('external') )
        $add_to_cart_url .= '/?affiliateID-1';

    return $add_to_cart_url;
}
/**
 *  End Custom Add Affiliate link to Buy Product

我希望做的是向此添加另一个附属网站,并根据 $add_to_cart_url 中的 URL 确定附加哪个附属网站 link。

所以目前如果 $add_to_cart_urlwww.siteA.com 生成的 link 是 www.siteA.com/?affiliateID-1

我想进行更改以便:

如果 $add_to_cart_url www.siteA.com 则生成的 link 是 www.siteA.com/?affiliateID-1 要么 如果 $add_to_cart_urlwww.siteB.net 生成的 link 是 www.siteB.net/?affiliateID-2

我假设我需要某种形式的“如果 $add_to_cart_url 是这个,然后追加这个,否则追加这个”但是我不确定我需要如何调整我现有的代码来做到这一点。

   $add_to_cart = $someValueHere;

if ($add_to_cart == $siteAValue){

    $add_to_cart_url .= '/?affiliateID-1';

} else if ($add_to_cart == $siteBValue){
    
    $add_to_cart_url .= '/?affiliateID-2';
}
    

return $add_to_cart_url;

}

我应该在哪里输入它需要检查的 2 URL 中每一个的具体信息?例如,如果 Facebook.com 是附属公司 1 而 Microsoft.com 是附属公司 2?你能举个例子吗?

你可以试试这样的

add_filter( 'woocommerce_product_add_to_cart_url', 'custom_product_add_to_cart_url', 20, 2 );
function custom_product_add_to_cart_url( $add_to_cart_url, $product ){
    if( !$product->is_type('external') ){
        return $add_to_cart_url;
    }
    if (strpos($add_to_cart_url, 'www.sitea.com/') === 0) {
        $add_to_cart_url .= '/?affiliateID-1';
    } elseif (strpos($add_to_cart_url, 'www.siteb.com/') === 0) {
        $add_to_cart_url .= '/?affiliateID-2';
    }

    return $add_to_cart_url;
}