Php 在Woocommerce中结帐付款后移动优惠券字段?
我想在结帐付款后移动优惠券文件。这就是我已经准备好的:Php 在Woocommerce中结帐付款后移动优惠券字段?,php,wordpress,woocommerce,hook-woocommerce,Php,Wordpress,Woocommerce,Hook Woocommerce,我想在结帐付款后移动优惠券文件。这就是我已经准备好的: remove_action( 'woocommerce_before_checkout_form', 'woocommerce_checkout_coupon_form'); add_action( 'woocommerce_after_checkout_form', 'woocommerce_checkout_coupon_form' ); 现在是在签出表单之后 谢谢 Coupan代码是单独的形式,因此您需要遵循以下步骤: 为了实现这个
remove_action( 'woocommerce_before_checkout_form', 'woocommerce_checkout_coupon_form');
add_action( 'woocommerce_after_checkout_form', 'woocommerce_checkout_coupon_form' );
现在是在签出表单之后
谢谢 Coupan代码是单独的形式,因此您需要遵循以下步骤: 为了实现这个移动,我将使用jQueryUI对话框库来帮助我实现对话框功能。在functions.php中,添加以下代码(在这种情况下,如果您的网站还没有包含jQueryUI对话框库) 接下来,创建一个包含优惠券代码所有内容的jQuery模型对话框实例。定位“模型”对话框,使其定位到签出表单中的HTML元素。使用现有的WooCommerce筛选器(或操作)将HTML元素定位到签出表单中所需的位置。 在functions.php中,添加以下代码:
function cw_show_coupon_js() {
wc_enqueue_js('$("a.showcoupon").parent().hide();');
wc_enqueue_js('dialog = $("form.checkout_coupon").dialog({
autoOpen: false,
width: 500,
minHeight: 0,
modal: false,
appendTo: "#coupon-anchor",
position: { my: "left", at: "left", of: "#coupon-anchor"},
draggable: false,
resizable: false,
dialogClass: "coupon-special",
closeText: "Close",
buttons: {}});');
wc_enqueue_js('$("#show-coupon-form").click( function() {
if (dialog.dialog("isOpen")) {
$(".checkout_coupon").hide();
dialog.dialog( "close" );
} else {
$(".checkout_coupon").show();
dialog.dialog( "open" );
}
return false;});');
}
add_action('woocommerce_before_checkout_form', 'cw_show_coupon_js');
接下来,要在表单中显示优惠券字段,请添加“单击此处输入代码链接”。此代码将在“客户详细信息”和“订单详细信息”部分之间添加链接。为了签出此链接的其他位置,您可以查看签出页面上的其他WooCommerce操作和过滤器(WooCommerce\u签出\u字段或WooCommerce\u签出前\u账单表单)。如果找不到正确的筛选器或方法,可以覆盖默认的WooCommerce签出页面模板,并在所需位置找到链接
function cw_show_coupon() {
global $woocommerce;
if ($woocommerce->cart->needs_payment()) {
echo '<p style="padding-bottom: 5px;"> Have a coupon? <a href="#" id="show-coupon-form">Click here to enter your coupon code</a>.</p><div id="coupon-anchor"></div>';
}
}
add_action('woocommerce_checkout_after_customer_details', 'cw_show_coupon');
函数cw\u show\u优惠券(){
全球商业;
如果($woocommerce->cart->needs_payment()){
有优惠券吗;
}
}
添加操作(“客户详细信息后的woocommerce\u checkout\u”、“cw\u show\u优惠券”);
Coupan代码是单独的形式,因此您需要遵循以下步骤:
为了实现这个移动,我将使用jQueryUI对话框库来帮助我实现对话框功能。在functions.php中,添加以下代码(在这种情况下,如果您的网站还没有包含jQueryUI对话框库)
接下来,创建一个包含优惠券代码所有内容的jQuery模型对话框实例。定位“模型”对话框,使其定位到签出表单中的HTML元素。使用现有的WooCommerce筛选器(或操作)将HTML元素定位到签出表单中所需的位置。
在functions.php中,添加以下代码:
function cw_show_coupon_js() {
wc_enqueue_js('$("a.showcoupon").parent().hide();');
wc_enqueue_js('dialog = $("form.checkout_coupon").dialog({
autoOpen: false,
width: 500,
minHeight: 0,
modal: false,
appendTo: "#coupon-anchor",
position: { my: "left", at: "left", of: "#coupon-anchor"},
draggable: false,
resizable: false,
dialogClass: "coupon-special",
closeText: "Close",
buttons: {}});');
wc_enqueue_js('$("#show-coupon-form").click( function() {
if (dialog.dialog("isOpen")) {
$(".checkout_coupon").hide();
dialog.dialog( "close" );
} else {
$(".checkout_coupon").show();
dialog.dialog( "open" );
}
return false;});');
}
add_action('woocommerce_before_checkout_form', 'cw_show_coupon_js');
接下来,要在表单中显示优惠券字段,请添加“单击此处输入代码链接”。此代码将在“客户详细信息”和“订单详细信息”部分之间添加链接。为了签出此链接的其他位置,您可以查看签出页面上的其他WooCommerce操作和过滤器(WooCommerce\u签出\u字段或WooCommerce\u签出前\u账单表单)。如果找不到正确的筛选器或方法,可以覆盖默认的WooCommerce签出页面模板,并在所需位置找到链接
function cw_show_coupon() {
global $woocommerce;
if ($woocommerce->cart->needs_payment()) {
echo '<p style="padding-bottom: 5px;"> Have a coupon? <a href="#" id="show-coupon-form">Click here to enter your coupon code</a>.</p><div id="coupon-anchor"></div>';
}
}
add_action('woocommerce_checkout_after_customer_details', 'cw_show_coupon');
函数cw\u show\u优惠券(){
全球商业;
如果($woocommerce->cart->needs_payment()){
有优惠券吗;
}
}
添加操作(“客户详细信息后的woocommerce\u checkout\u”、“cw\u show\u优惠券”);
您应该尝试以下方法:
remove_action( 'woocommerce_before_checkout_form', 'woocommerce_checkout_coupon_form', 10 );
add_action( 'woocommerce_review_order_before_payment', 'woocommerce_checkout_coupon_form' );
但不确定它是否能正常工作…您还需要自定义Woocommerce模板签出/表单优惠券.php
..您应该尝试以下方法:
remove_action( 'woocommerce_before_checkout_form', 'woocommerce_checkout_coupon_form', 10 );
add_action( 'woocommerce_review_order_before_payment', 'woocommerce_checkout_coupon_form' );
但不确定它是否能正常工作……您还需要自定义Woocommerce模板
结帐/表格优惠券.php
..我想将其添加到@LoicTheAztecI总额的下方我想将其添加到@LoicTheAztecI总额的下方谢谢您的回答,但我已经做好了准备,我想添加它位于totalI尝试实现此功能的下方,但Chrome Inspector报告ncaught TypeError:$(…)。该对话框不是HTMLDocument的函数。在HTMLDocument.K(jquery.js?ver=1.12.4:2)第1309行是dialog=$(函数(){(“form.checkout_优惠券”)。dialog({谢谢你的回答,但我已经准备好了,我想把它添加到总数的下面。我尝试实现了这一点,但Chrome Inspector报告ncaught TypeError:$(…)。dialog不是HTMLDocument的函数。((索引):1309)在I(jquery.js?ver=1.12.4:2)在Object.fireWith[解析](jquery.js?ver=1.12.4:2)在HTMLDocument.K(jquery.js?ver=1.12.4:2)的Function.ready(jquery.js?ver=1.12.4:2)第1309行是dialog=$(Function(){$(“form.checkout_”)。dialog({