问题描述
有点新手...我有一个调查,在提交时,我正在生成一个动态优惠券代码来激励购买产品。当用户将产品添加到购物车时,折扣代码已成功应用,但是我想在产品页面上显示一条通知,表明(因为用户参与了调查),他们将在结账时获得折扣。>
将产品添加到购物车的代码:
// Add generated coupon to cart
add_action( 'woocommerce_add_to_cart','apply_matched_coupons' );
function apply_matched_coupons() {
if ( is_cart() || is_checkout() ) return;
// Load coupon code
$coupon_code = WC()->session->get( 'unique_coupon' );
if ( $coupon_code && ! WC()->cart->has_discount( $coupon_code ) ) {
WC()->cart->apply_coupon( $coupon_code ); // Apply coupon code
WC()->session->__unset( 'unique_coupon' ); // remove session variable
}
}
我尝试添加通知的多种方式之一:
add_action( 'woocommerce_before_single_product','custom_message_before_single_product',5 ); // For single product page
function custom_message_before_single_product() {
if ( $coupon_code && ! WC()->cart->has_discount( $coupon_code ) )
wc_print_notice(sprintf('You will receive a discount at checkout!',$coupon_code),'notice');
}
我也试过基于产品,但无论是否创建了优惠券都会出现通知:
add_action( 'woocommerce_before_single_product',5 ); // For single product page
function custom_message_before_single_product() {
global $product;
if ( $product->get_id() == 1218 && $coupon_code = WC()->session->get( 'unique_coupon' );) {
wc_print_notice(sprintf('You will receive a discount at checkout!','notice');
} }
当然,我认为这是基于这样的信念,因为创建了基于会话的优惠券,因此可以获取该优惠券,或识别它已创建并在将其添加到购物车之前显示通知,但也许这不可能……?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)