WooCommerce添加“立即购买”数量变化时有效

有些用户要求增加一个『立即购买』按钮,这篇文章介绍下如何在WooCommerce中添加“立即购买”按钮并直接跳转到结算页面。

注:当前功能只对『单个产品』有效。

一、添加『立即购买』按钮 HTML 代码

找到插件目录 /wp-content/plugins/woocommerce/templates/single-product/add-to-cart 下的 simple.php 文件,

复制到主题 /wp-content/themes/xmhudong/woocommerce/single-product/add-to-cart 目录下,

主要这边有一点 是要在single-product 这个文件夹下建立个新的文件夹 add-to-cart  然后再丢进去,不要直接放在 single-product 目录下

找到如何代码:

<button class="single_add_to_cart_button button alt" name="add-to-cart" type="submit" value="<?php echo esc_attr( $product->get_id() ); ?>"><!–?php echo esc_html( $product->single_add_to_cart_text() ); ?–></button>

在其下添加以下代码:

<button id="buy_now_button" class="single_add_to_cart_button button alt" name="add-to-cart" type="submit" value="<?php echo esc_attr($product->get_id()); ?>">
<!–?php _e('立即购买','salong'); ?–>
</button>
<input id="is_buy_now" name="is_buy_now" type="hidden" value="0" />

此代码将会在『加入购物车』按钮后添加一个新的『立即购买』按钮。

二、添加 JS 代码函数到 functions.php 中

function buy_now_submit_form() {
?>
<script>
jQuery(document).ready(function(){
// listen if someone clicks 'Buy Now' button
jQuery('#buy_now_button').click(function(){
// set value to 1
jQuery('#is_buy_now').val('1');
//submit the form
jQuery('form.cart').submit();
});
});
</script>
<!–?php <br ?–> }
add_action('woocommerce_after_add_to_cart_form', 'buy_now_submit_form');

此段代码是用来监听按钮点击事件,也可以单独把 js 代码直接放在 js 文件中,不过这样方便一些。

三、重定向到结算页面

add_filter('woocommerce_add_to_cart_redirect', 'redirect_to_checkout');
function redirect_to_checkout($redirect_url) {
if (isset($_REQUEST['is_buy_now']) && $_REQUEST['is_buy_now']) {
global $woocommerce;
$redirect_url = wc_get_checkout_url();
}
return $redirect_url;
}

这是帮助我们将用户重定向到结帐页面的代码。默认情况下,是重定向到购物车页面。

到此,如果点击『立即购买』按钮,将重定向到结帐页面。

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/wp/260119.html

(0)
上一篇 2022年5月23日 11:56
下一篇 2022年5月23日 11:57

相关推荐

发表回复

登录后才能评论