Php 使用快捷码在任意位置显示优惠券输入字段
我有一个关于我需要在任何页面中插入Woocommerce优惠券字段的小项目,但这对我来说似乎很复杂。我在谷歌上搜索过这方面的信息,但没有任何关于这方面的资源。找到有关插入字段的代码 将此代码插入到文本块中:Php 使用快捷码在任意位置显示优惠券输入字段,php,wordpress,woocommerce,shortcode,coupon,Php,Wordpress,Woocommerce,Shortcode,Coupon,我有一个关于我需要在任何页面中插入Woocommerce优惠券字段的小项目,但这对我来说似乎很复杂。我在谷歌上搜索过这方面的信息,但没有任何关于这方面的资源。找到有关插入字段的代码 将此代码插入到文本块中: <div class="redeem-coupon"> <form id="ajax-coupon-redeem"> <p> <input type="text" name="coupon" id="coupon"/>
<div class="redeem-coupon">
<form id="ajax-coupon-redeem">
<p>
<input type="text" name="coupon" id="coupon"/>
<input type="submit" name="redeem-coupon" value="Redeem Offer" />
</p>
<p class="result"></p>
</form><!-- #ajax-coupon-redeem -->
这将生成表单,但没有其他代码将其处理到页面中
是否可以通过快捷码或其他方式生成?以下自定义快捷码将显示一个文本输入字段(带有提交按钮),用户可以在其中输入要应用的优惠券代码 用法:
[coupon\u field]
或在Php代码中echo do\u短码(“[coupon\u field]”)代码>
守则:
add_shortcode( 'coupon_field', 'display_coupon_field' );
function display_coupon_field() {
if( isset($_GET['coupon']) && isset($_GET['redeem-coupon']) ){
if( $coupon = esc_attr($_GET['coupon']) ) {
$applied = WC()->cart->apply_coupon($coupon);
} else {
$coupon = false;
}
$success = sprintf( __('Coupon "%s" Applied successfully.'), $coupon );
$error = __("This Coupon can't be applied");
$message = isset($applied) && $applied ? $success : $error;
}
$output = '<div class="redeem-coupon"><form id="coupon-redeem">
<p><input type="text" name="coupon" id="coupon"/>
<input type="submit" name="redeem-coupon" value="'.__('Redeem Offer').'" /></p>';
$output .= isset($coupon) ? '<p class="result">'.$message.'</p>' : '';
return $output . '</form></div>';
}
添加快捷码(“优惠券字段”、“显示优惠券字段”);
功能显示\优惠券\字段(){
如果(isset($获得['优惠券])&isset($获得['兑换优惠券])){
如果($优惠券=esc_attr($_GET['优惠券])){
$applied=WC()->cart->apply_优惠券($优惠券);
}否则{
$息票=假;
}
$success=sprintf(uuuuu(“优惠券“%s”已成功申请”),$优惠券);
$error=_uuuu(“此优惠券无法应用”);
$message=isset($applicated)&&$applicated?$success:$error;
}
$output=
';
$output.=isset($优惠券)“”。$message.
”:“”;
返回$output。“;
}
代码位于活动子主题(或主题)的function.php文件中。测试和工作
应用优惠券后,它会显示成功或错误消息