我一直在这里询问编写代码以让Magento为新的电子邮件订阅者生成随机优惠券代码 - 创建一个随机的Magento优惠券
这段代码完美无缺,对于那些帮助我永远感激的人.我现在正在寻找一种方法来删除这些优惠券,因为它们以批量方式过期,因为通过Magento管理员单独删除它们是一个巨大的痛苦.从下图中可以看出,在几天的时间里,我们生成了300多张优惠券(现已全部到期).
修改链接中的详细创建优惠券代码(从我原来的问题)上面的工作?就像是:
$model = Mage::getModel('salesrule/rule')
$model->getName('New newsletter subscriber discount');
$model->getToDate(date('Y-m-d'));
$model->delete();
Run Code Online (Sandbox Code Playgroud)
或者我在这里完全咆哮错误的树?
我一直在寻找一段时间,但我找不到如何以程序方式删除woocommerce优惠券.
我正在尝试根据购物车总数制作折扣.我需要申请删除优惠券,因为如果你有价值1000欧元的产品(15%优惠券适用)并且删除产品并且只留下价值50欧元的产品,你仍然可以享受15%的折扣,因为我的代码没有删除已经申请的优惠券.
所以这是我现在的代码:
add_action( 'woocommerce_before_cart', 'apply_matched_coupons' );
function apply_matched_coupons() {
global $woocommerce;
$coupon_code5 = '5p'; // your coupon code here
$coupon_code10 = '10p'; // your coupon code here
$coupon_code15 = '15p'; // your coupon code here
$coupon_code20 = '20p'; // your coupon code here
$coupon_code25 = '25p'; // your coupon code here
if ( $woocommerce->cart->has_discount( $coupon_code ) ){
return;
}
if ( $woocommerce->cart->cart_contents_total >= 4000 ) {
$woocommerce->cart->add_discount( $coupon_code25 );
$woocommerce->show_messages();
}
else if ( $woocommerce->cart->cart_contents_total >= 2000 ) { …
Run Code Online (Sandbox Code Playgroud) 我有订阅,如果我更新它将coupon
如何申请优惠券?客户已经支付了金额,现在我将通过我的管理仪表板编辑来申请100%的折扣优惠券.
这是怎么处理的?
谢谢
我在WooCommerce中创建了两种自定义优惠券类型:
function custom_discount_type( $discount_types ) {
$discount_types['cash_back_fixed'] =__( 'Cash Back fixed discount', 'woocommerce' );
$discount_types['cash_back_percentage'] =__( 'Cash Back Percentage discount', 'woocommerce' );
return $discount_types;
}
add_filter( 'woocommerce_coupon_discount_types', 'custom_discount_type',10, 1);
Run Code Online (Sandbox Code Playgroud)
订单状态为"已完成"后,我想获得折扣类型,例如:
function wc_m_move_order_money_to_user( $order_id, $old_status, $new_status ){
if( $order->get_used_coupons() ) {
if ($coupon->type == 'cash_back_fixed'){
$coupons_amont = ???
....
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是$coupon->type
不起作用.
如何获得订单中使用的优惠券类型?
我怎样才能获得原始优惠券金额?
谢谢
我一直在看salesrule_coupon
表,我发现如果规则本身是"自动"类型,我可以将许多优惠券代码映射到单个规则.这非常方便,因为我的客户需要我们定期将代码与数据源同步.
因此,在加载这些数千个代码(使用自定义模块和直接SQL调用)时,它们加载得很好,我可以测试并验证它们中的许多代码是否正常工作.
然而,在这些代码列表中,我们停止工作.前30个左右可以正常工作,但此后,Magento说代码无效.
我还在调试这个,如果我发现任何东西,我会发布更新......但是我已经尝试过并且经历了两个单独的价格规则.第31条代码中有一条规则,第39条则是第二条规则.
真正奇怪的是,如果我将这些代码更改为指向不同的规则(少于30个代码的规则),则会识别并接受它们.没有其他改变,我可以确定.
关于如何在这里进行的任何想法?有没有人尝过这个?这是一个有趣的.
我是一个新手,经过广泛的研究和探索,我能够弄清楚以下内容:
要将产品添加到购物车,我可以使用
/ checkout/cart/add?product = 76&qty = 1
申请我可以使用的折扣代码
/ checkout/cart/couponPost?coupon_code = WQ9D-XXXX
它的代码驻留在文件中:
/ public_html/app/code/local/Mage/Checkout/controllers/-
我想在一个链接中添加产品并应用折扣代码,例如:
/ checkout/cart/couponPost?product = 76&qty = 1&coupon_code = WQ9D-XXXX
要么
/ checkout/cart/add?product = 76&qty = 1&coupon_code = WQ9D-XXXX
或任何其他方式?
有没有办法让这个工作?想法是将此链接嵌入到时事通讯中,因此只需点击一下,用户就可以将产品添加到购物车并获得折扣.
我试过呼叫$this->couponPostAction();
,function addAction()
反之亦然,但它不起作用!
我有一个HTML格式的表格,可以将优惠券应用到当前的购物车.我希望用户只需单击APPLY(输入优惠券代码后),然后不刷新页面,就可以运行一些PHP代码,以便计算相应的折扣.
这是我的表格:
<form action="">
<input type="text" name="couponCode">
<input type="submit" value="Apply">
</form>
Run Code Online (Sandbox Code Playgroud)
要运行的PHP:
if (isset($_REQUEST['couponCode']) && $_REQUEST['couponCode']!='')
{
$couponCode = $_REQUEST['couponCode'];
if ($couponCode == "TEST1")
{
$discount=0.2;
}
}
Run Code Online (Sandbox Code Playgroud)
如何使用javascript完成?
是否有任何简单的方法或任何插件可以为以下类型的优惠创建优惠券代码:“订单超过 100 美元免费获得产品 X”?
让我澄清一下我的问题:
现在:
如果你能帮助我,那就太好了。
我真的很难让它发挥作用。我脑子里有一个想法:
能够通过常规优惠券选项卡中的额外字段将单个用户分配给优惠券代码,该字段将未分配的用户列出优惠券代码
我不想使用第三方扩展、自定义字段等。我希望我能够通过元数据做到这一点,但我失败了。不知道如何正确完成它。
在订单页面上添加两个额外的列并显示优惠券代码和分配给它的用户。
在 phpstorm 中阅读文档和 xDebugging 一段时间后,我也未能完成。
function order_sellers_and_coupons_columns_values($column)
{
global $post, $the_order;
if ($column == 'order_coupon_code') {
$coupons = $the_order->get_used_coupons(); // not sure how to get coupon object by the coupon code
echo (count($coupons)) ? $coupons[0] : '';
}
}
// even though I see the order objects have an items and coupon lines property,
// which is an object, i can't get access to it
$the_order->items["coupon_lines"]
Run Code Online (Sandbox Code Playgroud)
我不是要求现成的解决方案,而是向我展示如何完成它。
在此先感谢您的任何帮助。
coupon ×10
php ×6
woocommerce ×5
wordpress ×5
magento ×3
orders ×2
button ×1
cart ×1
discount ×1
discounts ×1
forms ×1
jquery ×1
magento-1.7 ×1
query-string ×1
url ×1