在新订单电子邮件通知中获取客户订单数

2024-03-24

如果是回头客,我想在 WooCommerce“新订单”电子邮件通知中注明。

看起来很简单,但我尝试了大约 5 种不同的方法,但没有一个有效。我尝试将其放入两个不同的钩子中:

  • woocommerce_email_after_order_table
  • woocommerce_email_subject_new_order.

似乎wc_get_customer_order_count($user->ID)应该可以工作,但似乎$user对象没有传递到那些钩子的函数中,对吗?

我还想知道当它是访客而不是注册用户时这是否可能,也许通过比较电子邮件地址?

Thanks


WooCommerce 电子邮件通知与订单相关。

In woocommerce_email_after_order_table钩子,您将 Order 对象作为钩子自定义函数中的参数,并且还有$email object.

接着就,随即$order对象,你可以得到user ID这边走:

$user_id = $user_id = $order->get_user_id();

来自$email您可以针对新订单电子邮件通知对象。

所以工作代码将是:

add_action( 'woocommerce_email_after_order_table', 'customer_order_count', 10, 4);
function customer_order_count( $order, $sent_to_admin, $plain_text, $email ){

    if ( $order->get_user_id() > 0 ){

        // Targetting new orders (that will be sent to customer and to shop manager)
        if ( 'new_order' == $email->id ){

            // Getting the user ID
            $user_id = $order->get_user_id();

            // Get the user order count
            $order_count = wc_get_customer_order_count( $user_id );

            // Display the user order count
            echo '<p>Customer order count: '.$order_count.'</p>';

        }
    }
}

您还可以使用woocommerce_email_before_order_table钩子例如...

代码位于活动子主题(或主题)的 function.php 文件中或任何插件文件中。

这段代码已经过测试并且可以工作。

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

在新订单电子邮件通知中获取客户订单数 的相关文章

随机推荐

  • sqlalchemy:在日期时间列上应用类似 SQL 的 date() 函数

    我想按日期分组并计算结果数id使用 sqlalchemy 不幸的是 我的专栏包含日期信息created datetime是一个日期时间 我想使用像这样的sql函数 group by date created datetime 为了按日期分组
  • 即使应用程序被强制停止,也要重新启动服务,并且即使关闭应用程序后,也要在后台继续运行服务如何?

    我正在尝试在后台运行服务 我的应用程序所做的是 当用户选中复选框时 服务启动 未选中时服务停止 这工作得很好 但问题是 当我从任务管理器关闭应用程序时 它也会停止服务 我想要的是即使在关闭任务管理器后仍保持服务运行 那么停止该服务的唯一方法
  • 类型错误:无法在反应中读取 null 的属性“名称”

    我对 React 和 Redux 很陌生 所以在做了大量研究后我无法轻松解决这个错误 我试图以卡片的形式在单独的页面中显示用户的个人资料 但出现错误 TypeError Cannot read property name of null P
  • 我们如何在 Apache Arrow 中存储哈希表?

    我对 Apache Arrow 很陌生 所以这个问题可能是无知的 Apache Arrow 提供了以标准化内存格式存储原始类型 结构 数组等数据结构的功能 我想知道是否可以使用 Apache Arrow 存储更复杂的数据结构 如哈希表 或平
  • javascript date getYear() 在 IE 和 Firefox 之间返回不同的结果,如何解决这个问题?

    显然 javascript日期对象的方法 getYear 在 IE8 和 Firefox3 6 之间返回不同的结果 我的机器上有这两个 不确定其他浏览器或版本 Date d new Date alert d getYear FF3 6 gt
  • 如何在iis 7.5中使Asp.net网站离线

    我有一个 ASP NET 网站 但我想在我的客户尝试访问该网站时显示 正在维护 页面 有谁知道如何做到这一点 如果您在 NET 4 0 应用程序池 IIS 7 0 或 IIS 7 5 中运行应用程序 或者您的网站配置为 ASP NET 4
  • Angular - 周围的条件 div 容器

    在我的 app component html 中 我想根据当前 url 渲染某些 div 容器 例如 1 如果当前 URL 是authenticate 则呈现以下内容 div div
  • nvm ls-remote 命令结果为“N/A”

    我正在尝试使用 nvm 安装 Node 但是当我输入任何版本时它都不可用 当我打字时nvm ls remote我只是得到 不适用 我可以访问互联网 所以我不知道会发生什么 更新维护 nvm sh 的 LJHarb 的评论 LJHarb 表示
  • 声明 @synthesize 时单下划线和双下划线的区别

    在最近的 Xcode 4 3 项目模板中 一些 synthesze声明为 synthesize window window synthesize managedObjectContext managedObjectContext synth
  • 无法推送到 Gitlab 注册表 | Quarkus - 臂架构建

    我目前正在开发 Quarkus 应用程序 因此需要 CI 管道 容器注册表 由于通过 docker 的容器化不起作用 docker 守护进程 特权模式 我想使用 Jib Quarkus 已经支持它 管道中的命令 mvn clean pack
  • 有没有办法动态配置 nginx(或其他快速反向代理)?

    假设我们有几个相同的节点 它们是某个 n 层服务的应用程序服务器 假设我们使用 Apache ZooKeeper 来保存分布式应用程序的所有配置 另外 我们在此应用程序前面有一个 nginx 作为负载均衡器和反向代理 假设我们执行的命令仅更
  • 使用BIOS int 13h访问不同磁头的扇区

    我的磁盘每磁道有 63 个扇区 根据我的观察 我假设 我想使用 int 13h 读取 16 位引导加载程序上的扇区 例如 如果我想读取扇区号 63 我将执行以下操作 mov dl 0x80 Drive number mov dh 0 Thi
  • 如何在d3中增量绘制网格?

    下面是一个 HTML 文件 它将绘制一个 10x10 的浅灰色和深灰色交替的正方形网格 它填充一个名为的二维数组the grid与 0 或 1 然后填充一个名为的一维数组nodes with x y and color 然后画nodes与
  • JUnitCore 停止

    我想停止 销毁正在运行的 JUnitCore 它的启动方式是 JUnitCore run Request aClass ClassToRun Like pleaseStop 在 RunNotifier 上 有任何想法吗 http junit
  • ajax 请求后重新加载 dojo 小部件

    我是这个主题的新手 我有 div 里面有一些 dojo 小部件 我使用 ajax 重新加载这个 div 但是之后我的 dojo 小部件没有显示 我怎样才能让我的浏览器在ajax请求后再次重新加载小部件 我不想重新加载整个页面 我的ajax视
  • Polymer 2.0:通知并反映到属性

    我是这个框架的新手 希望看到一些有用且简单的通知和反映属性属性的示例 请保持示例简单或为您提供的任何代码添加解释 Notify 可以设置为 True False 假设你有parent element and child element 工作
  • python 的斯坦福大学 nlp

    我想做的就是找到任何给定字符串的情绪 积极 消极 中性 在研究过程中 我遇到了斯坦福 NLP 但遗憾的是它是在 Java 中 关于如何让它适用于 python 有什么想法吗 Use py corenlp https github com s
  • 线程实现(C#)

    您能给我一个使用线程的程序的简单示例吗 我不明白线程及其使用以及何时使用它 谢谢 有一个here http msdn microsoft com en us library aa645740 28VS 71 29 aspx 和一个非常简单的
  • 创建一个 python 服务器以使用套接字向 Android 应用程序发送数据

    我正在尝试使用 python 中的套接字 我的电脑 创建一个简单的聊天服务器程序来与我的 Android 客户端代码 我的 Android 手机 进行通信 我有一个简单的服务器代码 它接收消息 但当我尝试从服务器向客户端发送消息时 它会阻止
  • 在新订单电子邮件通知中获取客户订单数

    如果是回头客 我想在 WooCommerce 新订单 电子邮件通知中注明 看起来很简单 但我尝试了大约 5 种不同的方法 但没有一个有效 我尝试将其放入两个不同的钩子中 woocommerce email after order table