0

在我的 Woocommerce 商店中,我想将所有“添加到购物车”按钮更改为动态提取产品 SKU 和数量的外部 URL。URL 类似于: https ://www.custom-url.com/ {SKU}/{QUANTITY}

这是针对将不再提供购买的 Woocommerce 网站的。相反,他们将使用完全不同的供应商在供应商的网站上进行采购。因此,我需要每个产品的“添加到购物车”按钮具有此链接,该链接会自动将该产品添加到供应商网站上的购物车中。该链接已经设置为在供应商方面执行它需要执行的操作。我只需要帮助弄清楚如何更改 Woocommerce 方面的链接。

假设有一个 SKU 为 234275 的产品,客户想要其中 2 个,因此他们从数量选项中选择 2 个。我需要将该产品的“添加到购物车”按钮更改为:https ://www.custom-url.com/234275/2

谢谢!

4

1 回答 1

0

这是适合您的代码。

如果您更改它最多处理的数量和 AJAX 请求并且应该刷新,您将面临的唯一问题。

add_filter( 'woocommerce_loop_add_to_cart_link', 'woocommerce_loop_add_to_cart_link_updated', 10, 2 );
function woocommerce_loop_add_to_cart_link_updated( $link, $product ){
    $quantity = isset( $quantity ) ? $quantity : 1;
    $link = sprintf( '<a href="%s" rel="nofollow" data-product_id="%s" data-product_sku="%s" data-quantity="%s" class="button product_type_%s">%s</a>',
    esc_url( home_url( '/').$product->get_id() . '/' . $quantity ),
    esc_attr( $product->get_id() ),
    esc_attr( $product->get_sku() ),
    esc_attr( isset( $quantity ) ? $quantity : 1 ),
    esc_attr( $product->get_type() ),
    esc_html( $product->add_to_cart_text() )
);
return $link;

}

此外,我放置的 home_url() 应该替换为站点的外部 URL。

希望它可以满足您的要求。

于 2019-05-02T07:42:25.933 回答