wordpress收费下载资源主题
wordpress付费下载资源插件

woocommerce产品页加一个购买按钮跳过购物车

创建一个新片段:
进入 WordPress 后台,点击 Code Snippets > Add New。
将下面的 PHP 代码粘贴到片段内容中。
add_action('wp_ajax_add_quick_buy_to_cart', 'add_quick_buy_to_cart');
add_action('wp_ajax_nopriv_add_quick_buy_to_cart', 'add_quick_buy_to_cart');

function add_quick_buy_to_cart() {
$product_id = intval($_POST['product_id']);

$product_num = $_POST['product_num'] ? intval($_POST['product_num']) : 1;

if ($product_id) {
// 将商品添加到购物车
WC()->cart->add_to_cart($product_id, $product_num);
}

// 返回购物车页面的 URL,或者结账页面的 URL
wp_send_json_success(array(
'redirect_url' => wc_get_checkout_url() // 添加到购物车后,跳转到结账页面
));
}

JavaScript:
如果你的 Code Snippets 插件支持 JavaScript,你可以直接添加 JavaScript 代码。
否则,你可以通过一个额外的 HTML 片段(<script> 标签)来添加 JavaScript
jQuery(function($) {
// 处理 "Buy Now" 按钮点击事件
$('body').on('click', '.quick-buy-button', function(e) {
e.preventDefault(); // 防止默认跳转

var productId = $(this).data('product_id'); // 获取产品 ID

// 使用 AJAX 请求将产品添加到购物车
$.ajax({
url: wc_add_to_cart_params.ajax_url, // WooCommerce AJAX 处理 URL
type: 'POST',
data: {
action: 'add_quick_buy_to_cart',
product_id: productId,

product_num: jQuery("input[name='quantity']").val()
},
success: function(response) {
// 在商品成功添加到购物车后,跳转到结账页面
if (response.success) {
window.location.href = response.data.redirect_url; // 重定向到结账页面
}
}
});
});
});

修改后的 HTML 输出:

add_action('woocommerce_after_add_to_cart_button', 'add_quick_buy_button', 15);

add_action('woocommerce_after_shop_loop_item', 'add_quick_buy_button', 15);

function add_quick_buy_button() {
global $product;
if ($product->is_featured()) { // 检查是否为精选产品
$product_id = $product->get_id();
$checkout_url = wc_get_checkout_url();

// 包裹两个按钮的容器
echo '<div class="buttons-wrapper">';

// 输出 "Add to Cart" 按钮
echo '<a href="?add-to-cart=' . $product_id . '" class="button product_type_simple add_to_cart_button ajax_add_to_cart" data-product_id="' . $product_id . '" data-product_name="' . $product->get_name() . '" data-price="' . $product->get_price() . '">Add to cart</a>';

// 输出 "Buy Now" 按钮,添加 data-product_id
echo '<a href="#" class="button quick-buy-button" data-product_id="' . $product_id . '">Buy Now</a>';

// 关闭容器
echo '</div>';
}
}

0 个评论

定制开发
本站承接WordPress等系统建站仿站、二次开发、主题插件定制等开发服务
在线咨询
  • 请先加Q,临时会话收不到
    QQ:1-247-246-247

  • QQ一群:104228692(满)
  • QQ二群:64786792
在线咨询
本站承接WordPress建站仿站、二次开发、主题插件定制等PHP开发服务!

了解详情