在Woocommerce的结帐页面,我需要更改地址的功能,首先我需要运送地址字段,然后计费地址字段.
首先显示结算,然后显示出货,如果复选框勾选如下,请参阅图片.
Billing address first
现在我需要改变它像运送地址显示第一,当我检查复选框,它显示我的帐单地址.见下图.
Shipping address first
我需要这个改变,而不改变任何woocommerce文件的手段在主题文件夹也验证和jquery效果也是需要的.
可以任何一个plz帮我做吗?
提前谢谢
代码片段:这不是解决方案,所以plz不写这个,因为它改变了地方不是功能和复选框. plz看到我发布的截图.
Billing address first
<?PHP do_action( 'woocommerce_checkout_billing' ); ?> <?PHP do_action( 'woocommerce_checkout_shipping' ); ?>
Shipping address first
<?PHP do_action( 'woocommerce_checkout_shipping' ); ?> <?PHP do_action( 'woocommerce_checkout_billing' ); ?>
仍然这个问题尚未解决,jquery不是很好的解决方案,因为checkout运行为ajax和验证.如果有任何一个有良好的解决方案,那么提供其他可以帮助从这里.
解决方法
你的要求是独一无二的,具有挑战性和棘手性.所以尝试一个代码来达到目的.
为了实现这种功能,已经在jQuery中完成了所有的编码,所以确保你先在控制台中尝试相同的操作,然后在完成同样的操作之后添加任何在检出页面上加载的js中的代码,或者在js上添加结帐页面.
jQuery('.shipping_address').css('display','block'); var bigHtml = jQuery(".woocommerce-billing-fields").children().not("h3,.create-account").detach(); var smallHtml = jQuery('.shipping_address').detach(); jQuery('.woocommerce-billing-fields').append(smallHtml); jQuery('#order_comments_field').before(bigHtml); jQuery('.woocommerce-billing-fields h3').text('Shipping Details'); jQuery('h3#ship-to-different-address').replaceWith('<h3 id="ship-to-billing-different-address"><label for="ship-to-billing-different-address-checkBox" class="checkBox">Ship to billing address?</label><input id="ship-to-billing-different-address-checkBox" class="input-checkBox" name="ship_to_different_billing_address" value="1" type="checkBox"></h3>'); jQuery(".woocommerce-shipping-fields").children().not("h3,#order_comments_field").hide(); jQuery("#ship-to-billing-different-address-checkBox").click(function(event) { if (jQuery(this).is(":checked")) jQuery(".woocommerce-shipping-fields").children().not("h3,#order_comments_field").show(); else jQuery(".woocommerce-shipping-fields").children().not("h3,#order_comments_field").hide(); });
我希望我在这个问题上发表的时间和工作符合你的要求.