当用户选择贝宝付款方式时,在结帐表单中禁用 WooCommerce 中的帐单地址
Posted
技术标签:
【中文标题】当用户选择贝宝付款方式时,在结帐表单中禁用 WooCommerce 中的帐单地址【英文标题】:Disable billing address in WooCommerce in checkout form when user select paypal payment method 【发布时间】:2014-04-13 18:55:08 【问题描述】:当用户在 WooCommerce wordpress 主题中选择贝宝付款方式时,我正在尝试禁用结帐页面中的结算字段。
一旦用户完成项目选择并进入结帐页面,如果用户选择了贝宝付款,那么结帐表单不应验证帐单字段,如果选择了任何其他付款方式,则它应该正常工作。
我搜索了很多,但找不到线索。请有人帮我解决这个问题。
提前致谢。
【问题讨论】:
【参考方案1】:/* if you want the title of the payment method */
add_action( 'woocommerce_review_order_before_payment', 'ts_refresh_payment_method' );
function ts_refresh_payment_method()
$chosen_payment_method = WC()->session->get('chosen_payment_method'); //Get the selected payment method
// jQuery
?>
<script type="text/javascript">
(function($)
var cpm = '<?php echo $chosen_payment_method; ?>';
if(cpm == "paypal")
$(".woocommerce-billing-fields").hide();
else
$(".woocommerce-billing-fields").show();
$( 'form.checkout' ).on( 'change', 'input[name^="payment_method"]', function()
//alert(this.value);
if(this.value == "paypal")
$(".woocommerce-billing-fields").hide();
else
$(".woocommerce-billing-fields").show();
$('body').trigger('update_checkout');
);
alert($('body').trigger('update_checkout'));
)(jQuery);
</script>
<?php
/* */
add_filter('woocommerce_billing_fields','wpb_custom_billing_fields');
function wpb_custom_billing_fields( $fields = array() )
$chosen_payment_method = WC()->session->get('chosen_payment_method');
if($chosen_payment_method == "paypal")
$fields['billing_first_name']['required']= false;
$fields['billing_last_name']['required']= false;
$fields['billing_company']['required'] = false;
$fields['billing_email']['required'] = false;
$fields['billing_address_1']['required']= false;
$fields['billing_address_2']['required']= false;
$fields['billing_state']['required'] = false;
$fields['billing_city']['required'] = false;
$fields['billing_phone']['required'] = false;
$fields['billing_postcode']['required'] = false;
$fields['billing_country']['required'] = false;
return $fields;
【讨论】:
【参考方案2】:看看PayPal for WooCommerce。它是免费的,它允许您启用 PayPal Express Checkout 而不是 PayPal Standard,后者对于使用 PayPal 付款的人来说更流畅。
【讨论】:
您好,谢谢您的回复。但您的回答不符合我的要求。当用户选择贝宝付款方式时,我想禁用结帐表单中的计费字段。 我不确定你是否明白我在说什么。 Express Checkout 基本上是通过完全跳过结帐页面来做到这一点的。 OP 希望代码在付款方式更改时更改/禁用计费字段。 对,我的回答通过允许您完全跳过结帐页面解决了这个问题。对于买家来说,这实际上是一种更好的体验,并且已被证明在应用时可以将网站上的转化率提高 20% 以上。只是想在这里提供帮助。谢谢你的否定。代表。以上是关于当用户选择贝宝付款方式时,在结帐表单中禁用 WooCommerce 中的帐单地址的主要内容,如果未能解决你的问题,请参考以下文章