要将 WooCommerce 的 "Add to Cart" 按钮更改为包含产品 SKU 和数量的自定义 URL,您可以通过以下步骤实现:
以下是一个简单的示例,展示如何在 WooCommerce 中实现这一功能:
// 添加自定义字段到产品页面
add_action('woocommerce_before_add_to_cart_button', 'custom_add_to_cart_url');
function custom_add_to_cart_url() {
global $product;
$sku = $product->get_sku();
?>
<form action="<?php echo esc_url(home_url('/')); ?>" method="get">
<input type="hidden" name="add-to-cart" value="<?php echo esc_attr($product->get_id()); ?>">
<input type="hidden" name="quantity" value="1"> <!-- 默认数量 -->
<input type="hidden" name="sku" value="<?php echo esc_attr($sku); ?>">
<button type="submit">Add to Cart</button>
</form>
<?php
}
// 处理自定义 URL 请求
add_filter('woocommerce_add_to_cart_redirect', 'custom_add_to_cart_redirect');
function custom_add_to_cart_redirect($url) {
if (isset($_GET['sku']) && isset($_GET['quantity'])) {
$product_id = apply_filters('woocommerce_add_to_cart_product_id', absint($_GET['add-to-cart']));
$quantity = apply_filters('woocommerce_add_to_cart_quantity', absint($_GET['quantity']), $product_id);
WC()->cart->add_to_cart($product_id, $quantity);
return wc_get_cart_url();
}
return $url;
}
通过以上步骤和代码示例,您可以成功地将 WooCommerce 的 "Add to Cart" 按钮更改为包含产品 SKU 和数量的自定义 URL。
领取专属 10元无门槛券
手把手带您无忧上云