在 WooCommerce 中列出带有订单详细信息的优惠券

2023-12-14

我有一个有 1000 张优惠券的网站。所有优惠券的使用限额均为一张。我使用 Raunuk Gupta 提供的代码直接从 SQL 数据库导出优惠券。

WooCommerce 优惠券如何存储在数据库中 ?

是否可以检索使用优惠券的用户的订单元?我想在报告中包含用户的姓名、电子邮件地址以及可能的其他一些自定义字段。

谢谢。

  • 我们生成 1000 张优惠券并将其提供给公司(客户)。
  • 每张优惠券的使用限额为 1 次。
  • 然后该公司向其会员分发优惠券。
  • At the end of the month, we need to send a report to the company telling them:
    1. 1000张优惠券用了多少张。 (这可以使用上面链接中提供的代码来完成)
    2. 然后,从已使用的优惠券中,我们需要告诉他们谁使用了它,换句话说,就是下订单的用户的姓名和电子邮件地址。

Excel 导出示例的链接- 黄色字段来自优惠券 - 蓝色字段来自订单


下面的 MySQL 查询将列出与订单相关的所有优惠券。

SELECT pc.post_title AS coupon_name,
       pc.post_excerpt AS coupon_description,
       Max(CASE WHEN pmc.meta_key = 'discount_type'      AND  pc.`ID` = pmc.`post_id` THEN pmc.`meta_value` END) AS discount_type,
       Max(CASE WHEN pmc.meta_key = 'coupon_amount'      AND  pc.`ID` = pmc.`post_id` THEN pmc.`meta_value` END) AS coupon_amount,
       Max(CASE WHEN pmc.meta_key = 'product_ids'        AND  pc.`ID` = pmc.`post_id` THEN pmc.`meta_value` END) AS product_ids,
       Max(CASE WHEN pmc.meta_key = 'product_categories' AND  pc.`ID` = pmc.`post_id` THEN pmc.`meta_value` END) AS product_categories,
       Max(CASE WHEN pmc.meta_key = 'customer_email'     AND  pc.`ID` = pmc.`post_id` THEN pmc.`meta_value` END) AS customer_email,
       Max(CASE WHEN pmc.meta_key = 'usage_limit'        AND  pc.`ID` = pmc.`post_id` THEN pmc.`meta_value` END) AS usage_limit,
       Max(CASE WHEN pmc.meta_key = 'usage_count'        AND  pc.`ID` = pmc.`post_id` THEN pmc.`meta_value` END) AS total_usaged,
       po.ID AS order_id,
       MAX(CASE WHEN pmo.meta_key = '_billing_email'      AND po.ID = pmo.post_id THEN pmo.meta_value END) AS billing_email,
       MAX(CASE WHEN pmo.meta_key = '_billing_first_name' AND po.ID = pmo.post_id THEN pmo.meta_value END) AS billing_first_name,
       MAX(CASE WHEN pmo.meta_key = '_billing_last_name'  AND po.ID = pmo.post_id THEN pmo.meta_value END) AS billing_last_name,
       MAX(CASE WHEN pmo.meta_key = '_order_total'        AND po.ID = pmo.post_id THEN pmo.meta_value END) AS order_total
FROM `wp_posts` AS pc
INNER JOIN `wp_postmeta` AS pmc ON  pc.`ID` = pmc.`post_id`
INNER JOIN `wp_woocommerce_order_items` AS woi ON pc.post_title = woi.order_item_name
    AND woi.order_item_type = 'coupon'
INNER JOIN `wp_posts` AS po ON woi.order_id = po.ID
    AND po.post_type = 'shop_order'
    AND po.post_status IN ('wc-completed', 'wc-processing', 'wc-refunded') -- Added needed order status over here.
INNER JOIN `wp_postmeta` AS pmo ON po.ID = pmo.post_id
WHERE pc.post_type = 'shop_coupon'
GROUP BY po.ID
ORDER BY pc.ID DESC,
         po.ID DESC
LIMIT 0, 10 -- modify it accordingly.

希望这可以帮助!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 WooCommerce 中列出带有订单详细信息的优惠券 的相关文章

  • pg_restore错误:角色XXX不存在

    尝试将数据库从一个系统复制到另一个系统 涉及的版本是9 5 0 源 和9 5 2 目标 源数据库名称是foodb与主人pgdba并且目标数据库名称将被命名foodb dev与主人pgdev 所有命令都在将托管副本的目标系统上运行 The p
  • MySQL:@@ 是什么意思?

    我正在阅读本页上的 MySQL 文档 http dev mysql com doc refman 5 1 en set statement html http dev mysql com doc refman 5 1 en set stat
  • 拥有更多列或更多行会更高效吗?

    我目前正在重新设计一个可能包含大量数据的数据库 我可以选择在数据库中包含许多不同的列或使用大量行 如果我在下面做一些大纲 可能会更容易 item id user id title description content category t
  • 条件触发器的Django迁移sql

    我想创建一个触发器 仅在满足条件时插入表 我尝试过使用 IF BEGIN END 和 WHERE 的各种组合 但 Django 每次都会返回 SQL 语法错误 这里 type user id指的是触发该事件的人 user id指的是接收到通
  • 从表中选择行,其中另一个表中具有相同 id 的行在另一列中具有特定值

    在 MySQL 中 如果我们有两个表 comments key value 1 foo 2 bar 3 foobar 4 barfoo and meta comment key value 1 1 2 1 3 2 4 1 我想得到来自以下人
  • WordPress 自定义帖子类型未显示在搜索结果中

    我在 WordPress 中遇到自定义帖子类型 测验 和搜索的问题 自定义帖子类型未显示在我的搜索结果页面中 我的搜索结果中仅显示默认的帖子内容 以下是我使用的代码 函数 php函数create posttype register post
  • 使用函数的 SQL 查询 - 如何获取列表的最大计数

    如何查询 MAXIMUM COUNT 交易次数 我的代码如下 SELECT customer id COUNT customer id FROM rental GROUP BY customer id HAVING MAX COUNT cu
  • 迭代 pandas 数据框的最快方法?

    如何运行数据框并仅返回满足特定条件的行 必须在之前的行和列上测试此条件 例如 1 2 3 4 1 1 1999 4 2 4 5 1 2 1999 5 2 3 3 1 3 1999 5 2 3 8 1 4 1999 6 4 2 6 1 5 1
  • 如何在 MySQL 中构建跨数据库查询?

    我在同一台服务器上有两个数据库 谷歌给了我一些提示 但我找不到任何 官方 的东西 有人可以向我指出解释如何执行此操作的文档吗 使用 PHP 进行解释也很有用 谢谢 我在同一台服务器上有两个数据库 如何在 MySQL 中构建跨数据库查询 您可
  • 由于缺少 PHP 扩展,CakePHP 3 无法连接到数据库

    我正在尝试使用 WT NMP 安装 cakePHP 3 0 0 但收到以下消息 CakePHP 无法连接到数据库 由于以下原因无法使用数据库驱动程序 Cake Database Driver Mysql 缺少 PHP 扩展或未满足的依赖项
  • MySQL 中的创建/写入权限

    我的设备遇到一些权限问题SELECT INTO OUTFILE陈述 当我登录数据库并执行简单的导出命令时 例如 mysql gt select from XYZ into outfile home mropa Photos Desktop
  • 在 php 和 mysql 中使用 utf8mb4

    我读过 mysql gt 5 5 3 完全支持每个可能的字符 如果您使用编码utf8mb4对于某个表 列http mathiasbynens be notes mysql utf8mb4 http mathiasbynens be note
  • 删除、截断或删除以清理 MySQL 中的表

    我正在尝试清理表格 但没有摆脱表格的实际结构 我有一个id自动递增的列 我不需要保留ID号 但我确实需要它来保持其自动递增的特性 我发现了删除和截断 但我担心其中之一会完全删除整个表 从而使未来的插入命令变得无用 如何从表中删除所有记录以便
  • 新的 Wp_Query() 或 pre_get_posts() 来查看自定义帖子类型的所有帖子?

    我有一个存档模板文件 显示自定义帖子类型人员的所有帖子 称为 archive personnel php 这是文件的开头
  • 如何使用php在mysql数据库中添加照片? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我对 PH
  • 客户端应用程序立即对数据库中的更新做出反应的最佳方式是什么?

    对数据库中的数据更新做出立即反应的最佳方法是什么 我能立即想到的最简单的方法是一个线程 它检查数据库中某些数据的特定更改 并持续等待在某个预定义的时间长度内再次检查它 这个解决方案对我来说似乎是浪费和次优的 所以我想知道是否有更好的方法 我
  • 数据加密

    存储大量信用卡信息的数据库是我们刚刚完成的系统中不可避免的一部分 不过 我想要的是卡号的最终安全性 我们可以设置一种加密和解密机制 但我们自己无法解密任何给定的号码 我所追求的是一种即使在数据库级别也能保护这些信息的方法 这样任何人都无法进
  • 如何正确设计数据库的这一部分(循环引用?)

    情况 一个公司有很多项目一个项目有很多标签一个项目只属于1家公司一个标签可以属于多个项目公司必须有权访问自己的标签 示例1 在第一张图片中 公司的所有标签都可以通过projects project tag 获得 但如果所有项目都被删除 那么
  • 在 LINQ 中执行 FirstOrDefault 的替代方法

    我有一个成员资格表 用于记录用户是否是列表的成员 当用户的成员资格发生更新时 会写入新记录 并且先前的记录保持原样 从而可以维护其成员资格的历史记录 要获取用户的会员身份 需要选择他们最近的条目 下面是一些用户列表成员资格数据的示例 目的是
  • Innodb页面大小设置

    在innodb中 页面大小默认为16kb 如何将页面大小设置为 8kb 是否有在源编译步骤中设置的选项 您不需要在源编译步骤中指定页面大小 MySQL 5 6 及更高版本支持不同的页面大小 无需重新编译 但是 您必须在初始化 InnoDB

随机推荐

  • 记录集 .value 属性

    请参阅下面的 DDL CREATE TABLE TestDate bookingdate datetime INSERT INTO TestDate VALUES 2013 10 04 请参阅下面的 ADODB 记录集 rs open SE
  • 在 JavaScript 中设置或更改 PHP 变量

    我是 PHP 和 JavaScript 的新手 我需要获取 div 的高度并将其分配给 PHP 变量 以便稍后可以将其用于进一步的处理 暂时是这样尝试的 不过效果不太好 div style height 1 some web form co
  • 为什么数组中的输入会覆盖每行的值[重复]

    这个问题在这里已经有答案了 我有这段代码 x 3 a x x 0 for i in range 0 x for j in range 0 x dt int input insert data a i j dt print a 它应该只在被要
  • 在 React 中管理多个音频源

    我有一个 React 组件 当您单击按钮时 它会播放 暂停音频 它效果很好 我一次在一个页面上渲染大约 5 个 但是 如果您单击一个音频的 播放 然后单击另一个音频的 播放 则两个音频都会播放 这不太好 这是我的组件代码 import Re
  • 在 R Markdown 中格式化表格以导出到 MS Word 文档

    我已经开始使用expss在 R Markdown 中 在 Knitr 的帮助下生成表格 我想自动生成需要以 Microsoft Word 格式准备的报告的表格和分析 当编织到 HTML 时 表格看起来很棒 Word 中的表格显示为纯文本行
  • 三元结构不等同于 if then else

    以下 if then 测试 在 bash 中 if 1 then ls undef dummy gt dev null 2 gt 1 else echo else stmt fi 似乎不等于它的三元版本 test 1 ls undef du
  • 停止秒表

    我在 JPanel 类中有以下代码 该代码被添加到另一个类 JFrame 中 我想要实现的是某种秒表程序 startBtn addActionListener new startListener class startListener im
  • 按区域调整图像大小

    我正在尝试编写一个javascript函数来根据给定区域 或者在我的情况下 有点不准确 平均尺寸 调整图像大小 因为这更容易思考 我想要的不是输入最大高度和宽度 而是以最大面积进给 以便长或窄的图像在视觉上看起来大小大致相同 不过 我真的很
  • 如何在 Javascript 中使用 PHP 变量?

    我知道你不能直接在 javascript 代码中使用 PHP 变量 但是有办法解决吗 我需要在 javascript 中使用这些参数 username example co uk password example 它不显示 user id
  • 如何使用 ARM 模板创建标准类型逻辑应用

    我可以使用 ARM 模板通过示例工作流程创建消费类型逻辑应用程序 我想使用 ARM 模板创建带有示例工作流程的标准类型逻辑应用程序 但是 我找不到上述文档的任何参考文档 那么 任何人都可以帮我解决这个问题吗 抱歉 在我之前的回答中 我误解了
  • 如何在空手道 UI 驱动程序中处理 SSL 证书?

    When I open my resource I am faced with notification Your connection is not private Is there a way to disable the verifi
  • 从其他表中选择一个值时插入

    我想insert新值放入表中where其中一个值是从带有条件的另一个表中选择的 另一个值是常量 硬编码 该命令给出语法错误 INSERT INTO table1 itemId reservedId VALUES SELECT id FROM
  • iPhone - CLHeading 寻找方向

    在我的 iPhone 应用程序中 我使用 CLLocationManager 来查找我的 iPhone 指向的方向 我正在使用 标题 属性 它给了我 x y 和 z 值 如何从这些值中找到我当前指向的方向 北或南或东或西 你应该使用方法 l
  • 自定义查询分页 Cakephp

    我的控制器中有一个自定义查询 我想实现在 cakephp org 上找到的自定义查询分页 但他们的示例与我的示例不相似 有人可以帮我根据我的观点对这个结果进行分页吗 cars this gt Car gt query select Car
  • Java:类.this

    我有一个看起来像这样的 Java 程序 public class LocalScreen public void onMake aFuncCall LocalScreen this oneString twoString 什么是LocalS
  • PHP 会话启动“无法发送会话 cookie 和缓存限制器”

    我已将我的托管服务器从 Windows 系统更改为 Linux 系统 但是当我运行 PHP 程序时 出现以下错误 Warning session start function session start Cannot send sessio
  • 添加 firebase-ui-auth:2.3.0 依赖项时出错

    我从昨天开始就面临这个问题 我添加 Add Library compile com android support design 26 1 0 compile com firebaseui firebase ui 0 2 0 compile
  • 使用异步任务在 gridview 中加载图像,未正确加载

    我正在尝试在 gridview 异步中加载缩略图 因为其他方式显示时间太长 当我以正常方式进行操作时 它可以很好地显示图像 代码和图像 Utils public static Bitmap getThumbnail Context cont
  • ValueError:未知的 MS 编译器版本 1900

    我正在尝试使用 cygwin mingw 在 Windows 10 上使用 Python 3 5 运行一些代码 准确地说 我使用的是 PyDSTool 模块 我将其称为 dopri 积分器 问题是 我遇到了麻烦distutils无法识别 M
  • 在 WooCommerce 中列出带有订单详细信息的优惠券

    我有一个有 1000 张优惠券的网站 所有优惠券的使用限额均为一张 我使用 Raunuk Gupta 提供的代码直接从 SQL 数据库导出优惠券 WooCommerce 优惠券如何存储在数据库中 是否可以检索使用优惠券的用户的订单元 我想在