将 pdf 附件添加到 WooCommerce 已完成订单电子邮件通知

2023-12-28

在另一个线程上找到此代码,但无法使其工作。 PDF 上传到 wp-content/child-theme/。

目标是将 pdf 附加到 woocommerce 将发送的已完成订单电子邮件中。

不知道customer_completed_order是正确的?

add_filter( 'woocommerce_email_attachments', 'attach_terms_conditions_pdf_to_email', 10, 3 );
function attach_terms_conditions_pdf_to_email ( $attachments , $email_id, $email_object ) {
    // Avoiding errors and problems
    if ( ! is_a( $order, 'WC_Order' ) || ! isset( $email_id ) ) {
        return $attachments;
    }


    if( $email_id === 'customer_completed_order' ){

        $your_pdf_path = get_stylesheet_directory() . '/Q-0319B.pdf';
        $attachments[] = $your_pdf_path;
    }

    return $attachments;
}

您的代码中有一些错误:$email_object函数参数是错误的变量名,应该改为$order与您的第一个 if 语句匹配。

现在,对于链接到主题的附件路径,您将使用:

  • get_stylesheet_directory()儿童主题
  • get_template_directory()对于父主题(没有儿童主题的网站)

电子邮件 IDcustomer_completed_order对于目标客户“已完成”电子邮件通知来说是正确的。

由于您没有使用$order代码中的变量参数,! is_a( $order, 'WC_Order' )不需要,所以工作代码将是:

add_filter( 'woocommerce_email_attachments', 'attach_pdf_file_to_customer_completed_email', 10, 3);
function attach_pdf_file_to_customer_completed_email( $attachments, $email_id, $order ) {
    if( isset( $email_id ) && $email_id === 'customer_completed_order' ){
        $attachments[] = get_stylesheet_directory() . '/Q-0319B.pdf'; // Child theme
    }
    return $attachments;
}

代码位于活动子主题(或活动主题)的functions.php 文件中。经过测试并工作。


对于父主题替换:

$attachments[] = get_stylesheet_directory() . '/Q-0319B.pdf'; // Child theme

通过以下行:

$attachments[] = get_template_directory() . '/Q-0319B.pdf'; // Parent theme
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 pdf 附件添加到 WooCommerce 已完成订单电子邮件通知 的相关文章

  • PHP静态函数

    我有一个关于 php 中的静态函数的问题 假设我有一堂课 class test public function sayHi echo hi if I do test sayHi 它工作没有问题 class test public stati
  • IOS 向特定用户推送通知?

    是否可以向特定设备发送 iOS 推送通知 我构建了一个论坛类型的应用程序 用户可以创建问题 其他人可以回答它 我需要向提出问题的特定用户发送 iOS 推送通知 通知他们问题已得到解答 这可以通过 PHP 或其他方法来完成吗 是的 您绝对可以
  • 使用 2 个商户账户的 1 笔交易

    我需要设置一个账单支付系统 以允许使用 2 个商家帐户进行 1 笔交易 例如 1 个商家帐户附加到接收资金的客户 假设 30 美元的购买费用 并且附加我们将向帐单支付服务提供商收取 3 美元的帐单支付费用 因此 资金需要转入 2 个独立的商
  • JS 中的模板?

    我们都喜欢简单 结构化且易于遵守的代码 我们试图在外观和逻辑之间带来差异 例如 在 PHP 中 我们可以使用模板机制 即创建一个带有 php 标签的 html 格式的文件 该文件使用一些预定义的变量 这些变量可以通过逻辑负责任的脚本来使用
  • php-fpm 需要在监狱环境中放置哪些系统文件才能在 ubuntu 上正常运行?

    我在 ubuntu 12 04 上使用 php5 fpm 并且为 nginx 托管的每个域都有单独的池和 chroot 位置 不过 我知道有些系统文件需要直接放在jail中 但是我需要哪些呢 我知道 dns 解析当前不起作用 并且我读过一些
  • WordPress 中的随机永久链接键

    我想为 WordPress 中的每个新帖子都有一个自定义永久链接 例如 http mysite com x5Kvy6 http mysite com x5Kvy6 如 bit ly 我尝试了这个小脚本 但它只在永久链接的帖子标题中添加了 5
  • 在 Symfony2 (Doctrine) 和 MySQL 中启用微秒

    我有一个具有一列 日期时间 类型的实体来存储时间戳 ORM Column type datetime protected timestamp 我有 MySQL 5 5 40 我发现它不存储微秒 所以我切换到 5 6 21 并导入了所有表格和
  • 如果我有循环引用,我可以触发 PHP 垃圾回收自动发生吗?

    我似乎记得一种设置方法 destruct对于一个类 以这样的方式确保一旦外部对象超出范围 循环引用就会被清除 然而 我构建的简单测试似乎表明这并不像我预期 希望的那样 有没有一种方法可以设置我的类 以便当最外面的对象超出范围时 PHP 可以
  • 如何在 Windows 上以纯 PHP 形式提取 .tar 文件?

    我有一个 PHP 脚本 我想在 Windows 上运行 我需要提取 tar 文件 如何提取 tar 文件 我知道 PharData 类 它可以在 Linux 上运行 但不能在 Windows 上运行 我的脚本就死了 没有错误输出或任何东西
  • WooCommerce:即使在选择变体之前也始终显示“添加到购物车”按钮

    在可变产品的单个产品页面上 在选择一种变体之前 WooCommerce 不会生成 添加到购物车 按钮 如果需要两种变体但只选择了一种 WC 仍会生成该按钮 但单击它会触发一条错误消息 要求选择所有变体 除了我不理解这个逻辑这一事实之外 为什
  • PHP 中的延迟加载类方法

    我有一堂课 里面有一些相当大的方法 在它的基本和最常见的状态下 大多数功能并不是必需的 所以我想知道是否有一种方法可以延迟加载类的一部分 这些方法需要能够访问私有 受保护的成员 因此如果这些方法是类的本机方法 那将是理想的选择 但是在寻找其
  • date() 和 strtotime 的问题

    这是我所拥有的 str 12 25 2009 echo date Y m d strtotime str 这会产生 1969 12 31 而不是 2009 12 25 如果我将 str var 设置为 01 01 2009 我将得到正确的
  • 在 PHP 中使用重命名函数时出错

    尽管文件仍然被移动到正确的目录中 但我不断收到此错误 有人知道我为什么会收到此错误吗 Warning rename Images uploaded 1162504 56863010 jpg Images uploaded Portraits
  • WordPress 本地主机[重复]

    这个问题在这里已经有答案了 2个人如何在不同计算机的本地主机上开发一个网站 我们想为一家公司创建一个网站 但不在主机上运行 理想情况下 我们希望在完成后立即启用它 但我们是在两台不同的计算机上工作 有谁知道我们如何用不同的计算机同时处理这个
  • 停止警告:date() [function.date]:来自本地主机

    警告 date function date 依赖系统的时区设置是不安全的 你是required使用 date timezone 设置或 date default timezone set 函数 如果您使用任何这些方法并且仍然收到此警告 则很
  • SQLite适合并发读吗?

    在没有锁定的情况下 SQLite 数据库的性能是否能达到每秒 50 次读取左右 我正在尝试确定它是否可以在不会经常 写入 的 PHP 网站上使用 它主要是从一小部分表中读取相同的数据 没问题 并发读 写实际上会被 SQLite 序列化 所以
  • 构建、部署、配置和回滚所需的 Jenkins 指南,保留 5 个版本

    我对詹金斯很陌生 有一定的了解 但需要进一步的指导 我在 Git 存储库上有一个 PHP 应用程序 它使用 Composer 具有资产 具有用户上传的媒体文件 使用 Memcache Redis 具有一些代理 工作人员 并且具有迁移文件 到
  • Docker Compose WordPress 卷显示为空

    我正在尝试使用 docker compose 设置一个简单的 WordPress 构建 然而 当我构建它时 卷似乎是空的 这是我的 docker compose yml version 3 services wordpress image
  • 在 imagick php 中使用 svg 原始数据生成 SVG 图像

    我正在尝试使用从 Fabric js 获取的 svg 原始数据创建 svg 图像 我使用下面的代码使用 svg 原始数据生成 svg 但它无法正常工作 public function generate svg raw svg prefix
  • simplexml,返回具有相同标签的多个项目

    我将以下 XML 文件加载到 php simplexml 中

随机推荐