首页 > 其他分享 >完成订单后,在特定产品的管理端 woocommerce 优惠券代码列表中自动生成一个优惠券代码。

完成订单后,在特定产品的管理端 woocommerce 优惠券代码列表中自动生成一个优惠券代码。

时间:2023-11-17 18:13:26浏览次数:34  
标签:优惠券 coupon 代码 order item woocommerce meta post id

我想动态生成 woocommerce 优惠券代码。

我的要求是,完成订单后,在特定产品的管理端 woocommerce 优惠券代码列表中自动生成一个优惠券代码。

所以任何人都知道我的上述要求解决方案然后请帮助我。

您可以使用 woocommerce_order_status_completed订单完成的 Action Hook 。并创建帖子类型 shop_coupon coupan 使用 wp_insert_post .检查下面的代码

function action_woocommerce_order_status_completed( $order_id ) { 

   $order = wc_get_order( $order_id );

    $order_items = $order->get_items();
    // Iterating through each item in the order
    $item_quantity=0;
    foreach ($order_items as $item_id => $item_data) {

        $item_quantity=$order->get_item_meta($item_id, '_qty', true);
        if($item_quantity>1){
            $product_ids[]=$item_data['product_id'];
            $coupon_code = 'UNIQUECODE'.$order_id.$item_id; // Code
            $amount = '10'; // Amount
            $discount_type = 'fixed_cart'; // Type: fixed_cart, percent, fixed_product, percent_product

            $coupon = array(
                'post_title' => $coupon_code,
                'post_content' => '',
                'post_status' => 'publish',
                'post_author' => 1,
                'post_type'     => 'shop_coupon'
            );

            $new_coupon_id = wp_insert_post( $coupon );

            // Add meta
            update_post_meta( $new_coupon_id, 'discount_type', $discount_type );
            update_post_meta( $new_coupon_id, 'coupon_amount', $amount );
            update_post_meta( $new_coupon_id, 'individual_use', 'no' );
            update_post_meta( $new_coupon_id, 'product_ids',$product_ids );
            update_post_meta( $new_coupon_id, 'exclude_product_ids', '' );
            update_post_meta( $new_coupon_id, 'usage_limit', '' );
            update_post_meta( $new_coupon_id, 'expiry_date', '' );
            update_post_meta( $new_coupon_id, 'apply_before_tax', 'yes' );
            update_post_meta( $new_coupon_id, 'free_shipping', 'no' );
            unset($product_ids);
        }

    }



}; 
// add the action 
add_action( 'woocommerce_order_status_completed', 'action_woocommerce_order_status_completed', 10, 1 );

 

关于wordpress - 如何使用编程代码动态生成woocommerce优惠券代码,

标签:优惠券,coupon,代码,order,item,woocommerce,meta,post,id
From: https://www.cnblogs.com/alex-13/p/17839414.html

相关文章

  • Go语言打印九九乘法表,这是整洁代码范例
    Go语言打印九九乘法表,这是整洁代码范例/Go语言输出九九乘法表/九九乘法表是我们学习编程时的一项基本练习,它看似简单,通过实现输出九九乘法表可以加深对Go语言循环结构的理解和运用。本文将使用Go语言输出九九乘法表,内容涵盖:问题描述基本思路使用双层for循环......
  • 二维码保存到本地Java代码
    工具类importjava.io.ByteArrayInputStream;importjava.io.File;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.InputStream;publicclassWxaQrCodeUtil{/***二维码保存到本地*@parambytes*@parampath保......
  • 为什么很多程序员讨厌低代码?
    什么是低代码低代码是一种只需用很少甚至不需要代码即可快速开发系统,并将其快速配置和部署的技术和工具。低代码的优点减少开发的成本低代码开发工具把这些功能都抽象统一、开发、封装起来,形成一个个模块,让用户可以直接使用,省掉大量重复的开发工作。低代码平台可以大大缩短软......
  • 闲鱼捡漏扫货脚本,低价下单,全自动安卓按键精灵开源代码!
    之前给客户定制的,功能就是可以在最新发布区识别低价商品,符合价格条件的自动下单这么一个效果,省的人工一个个去看价格。UI界面:  UI界面代码:=====================================================界面1:{激活页面(检测速度不建议快):{输入框:{名称:"输入框11",提示内......
  • 小红书自动点赞评论脚本,可以群控多账号,按键精开源版代码分享
    这个需要连接服务器,你可以在易语言配置一个服务端,然后设置好端口,脚本部署在模拟器或者云手机或者真机里面实现多账号点赞评论的效果,针对一个作品,按键精灵写的脚本,服务端的脚本需要自己写哈,我没保存,我只保存了客户端的,这边分享出来,技术供大家学习研究。UI界面:  界面代码:===......
  • 深入解读腾讯云微搭低代码的技术架构
    本文将带大家深入聊聊微搭的技术架构,快来了解微搭是如何安全、稳定、可靠地支撑商业级应用从搭建到发布上线的。腾讯云微搭低代码是高效、高性能的企业级低代码平台。帮助开发者快速搭建支持多种业务场景的小程序、H5、PCWEB应用,通过简单的拖拉拽操作,而不用编写复杂的代码,实现少写......
  • 代码混淆的原理是什么?常见代码混淆方法介绍
    ​代码混淆的原理是什么?常见代码混淆方法介绍本文主要想你介绍代码混淆的原理,常见代码混淆方法,欢迎查阅~移动应用代码安全非常重要,代码逆向会导致代码逻辑被获取,进一步导致控制流被hook,安全防线被破,给APP安全带来巨大风险,因此开发者一般都会进行代码混淆保护。本文主要介绍了......
  • 苏格拉底问答、实践过程截图、遇到问题解决问题截图,代码链接
    #include<stdio.h>#include<stdlib.h>#include<unistd.h>#include<semaphore.h>#include<pthread.h>#definemsleep(x)usleep(x*1000)#definePRODUCT_SPEED3//生产速度#defineCONSUM_SPEED1......
  • Java代码混淆
    classFinal代码混淆1.参数说明-file加密的jar/war完整路径-packages加密的包名(可为空,多个用","分割)-libjarsjar/war包lib下要加密jar文件名(可为空,多个用","分割)-cfgfiles需要加密的配置文件,一般是classes目......
  • 无法安装ensp ?各种报错解决方案(virtualbox无法运行,启动AR失败,错误代码40等)
    安装eNSP。发现软件中路由器无法启动。VirtualBox是华为eNSP使用的必须运行环境,它提供虚拟网卡设备作为服务器为软件提供运行环境。1.提示出现VirtualBoxOracle无法在此项目运行。我根据百度上的方法,重新还原系统。无果。之前计算机中安装VirtualBox版本为6.0,重新下载了5.3版本的......