在 WooCommerce 电子邮件通知上显示第二个自定义字段

2023-12-02

我已将两个自定义字段添加到我的 WooCommerce 结帐页面。我设法让它们出现在前端和后端。

下一步是获取要在订单电子邮件中显示的字段。我发现这段电话号码代码非常适合电话号码自定义字段:

add_filter( 'woocommerce_email_order_meta_fields', 'custom_woocommerce_email_order_meta_fields', 10, 3 );

function custom_woocommerce_email_order_meta_fields( $fields, $sent_to_admin, $order ) {
    $fields['meta_key'] = array(
        'label' => __( 'Shipping Phone' ),
        'value' => get_post_meta( $order->id, '_shipping_phone', true ),
    );
return $fields;
}

但此代码是为一个字段编写的,并且仅用于显示电话号码字段。

现在我需要调整代码以显示电子邮件字段。我在下面尝试了这样的操作,但它用电子邮件字段替换了电话号码字段,而不是同时添加了两者。

我究竟做错了什么?

 add_filter( 'woocommerce_email_order_meta_fields', 'custom_woocommerce_email_order_meta_fields', 10, 3 );

function custom_woocommerce_email_order_meta_fields( $fields, $sent_to_admin, $order ) {
    $fields['meta_key'] = array(
        'label' => __( 'Shipping Phone' ),
        'value' => get_post_meta( $order->id, '_shipping_phone', true ),
    );     // I also tried to replace this ; with , but it returned an error //
    $fields['meta_key'] = array(
        'label' => __( 'Shipping Email' ),
        'value' => get_post_meta( $order->id, '_shipping_email', true ),
    );*/
return $fields;
} 

你错过了正确的meta_key

像这样使用它:

function custom_woocommerce_email_order_meta_fields( $fields, $sent_to_admin, $order ) {
    // Get meta
    $shipping_phone = $order->get_meta( '_shipping_phone', true );
    
    // NOT empty
    if( ! empty( $shipping_phone ) ) {  
        $fields['_shipping_phone'] = array(
            'label' => __( 'Shipping Phone' ),
            'value' => $shipping_phone,
        );
    }
    
    // Get (other) meta
    $shipping_email = $order->get_meta( '_shipping_email', true );
    
    // NOT empty
    if ( ! empty( $shipping_email ) ) { 
        $fields['_shipping_email'] = array(
            'label' => __( 'Shipping Email' ),
            'value' => $shipping_email,
        );
    }
    
    return $fields;
}
add_filter( 'woocommerce_email_order_meta_fields', 'custom_woocommerce_email_order_meta_fields', 10, 3 );
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 WooCommerce 电子邮件通知上显示第二个自定义字段 的相关文章

  • Zend Framework 生成唯一的字符串

    我想生成一个唯一的 4 6 个字符长的字母数字字符串 以便与每个记录 用户 一起保存在数据库中 db 字段具有唯一索引 因此尝试保存预先存在的字符串会生成错误 现在我正在生成一个随机字符串并使用 try catch 因此在添加新记录时如果抛
  • 简单的 PHP 条件帮助: if($Var1 = in list($List) and $Cond2) - 这可能吗?

    这是一个可能的功能吗 我需要检查一个变量是否存在于我需要检查的变量列表中 并且 cond2 是否为 true 例如 if row name 1 2 3 Cond2 doThis 它对我不起作用 我在复制粘贴中更改的只是我的列表和变量名称 i
  • 删除PHP字符串中所有不匹配的字符?

    我有一个文本 我想从中删除所有不属于以下字符的字符 所需字符 0123456789 abcdefghijklmnopqrstuvwxyz n 最后一个是我确实想保留的 n 换行符 要匹配除列出的字符之外的所有字符 请使用反转字符集 http
  • 如何检查PHP变量是否包含非数字?

    我只是想知道检查 PHP 变量中是否有非数字的方法以及它是否也检测字符之间的空格 需要确保我的表单字段中没有添加任何奇怪的内容 提前致谢 如果您的意思是您只想要一个包含数字的值 那么您可以使用ctype digit http php net
  • MySQL/PDO::quote() 尽管使用 PDO::PARAM_INT 参数,但仍在整数周围加上引号

    无论我传递给什么值 数据类型对 它都会出现 pdo gt quote value type 它总是将其引用为字符串 echo pdo gt quote foo PDO PARAM STR foo as expected echo pdo g
  •  
    标记内删除

    我制作了简单的 BBCode 脚本 一切正常 但后来我使用了一个 javascript 库来美化我的代码 pre pre 现在我面临的唯一问题是 br 每行代码后面的标签 pre pre tags 所以问题是我怎样才能删除 br 标记哪些在
  • Yii 使用 ajax 进行分页

    我需要使用ajax启用分页 我的代码 控制器 更新内容ajax function actionIndex dataProvider new CActiveDataProvider News array pagination gt array
  • 如何在响应ajax codeigniter后停止执行其他控制器

    我想知道如何在响应输出 json 数据后停止执行函数和涉及的其他控制器 就我这里的情况而言 我只是打电话test 函数于dashboard控制器 In dashboard构造函数将执行MY Login library In MY Login
  • 如何从父类函数访问子类中定义的常量?

    我从 php net 看到这个例子 但 c MY CONST 仅在 5 3
  • “使用未定义常量”注意,但该常量应该被定义

    共有三个文件 common php controller php 和 user php 文件 common php 如下所示 文件controller php看起来像 文件 user php 如下所示 执行脚本时 会给出通知 注意 使用未定
  • PHP 在输入流中使用 fwrite 和 fread

    我正在寻找将 PHP 输入流的内容写入磁盘的最有效方法 而不使用授予 PHP 脚本的大量内存 例如 如果可以上传的最大文件大小为 1 GB 但 PHP 只有 32 MB 内存 define MAX FILE LEN 1073741824 1
  • 覆盖控制器 Symfony 3.4/4.0

    我目前正在尝试覆盖 FOSUserBundle 中的控制器 在新的文档中 https symfony com doc 3 4 bundles override html https symfony com doc 3 4 bundles o
  • 通过 $_SESSION 从一个脚本发送到另一个脚本期间数据丢失

    我正在尝试将一个充满属性的对象从一个 PHP 发送到另一个 PHP SESSION object obj where obj是一个用 foreach 循环指定的对象 foreach array of objects as obj SESSI
  • PHP HEREDoc (EOF) 语法在 Sublime Text 3 上突出显示与正斜杠的差异

    我不熟悉 Sublime Text 3 如何使用语法突出显示 例如 如果它纯粹依赖于主题 或者它内置于主题运行的标准中 但就我而言 使用 PHP 的 HERE 文档和转发存在一些语法突出显示差异斜线 一旦出现正斜杠 ST3 就会认为以下所有
  • 表单提交后如何保留选择字段中的选定值?

    我有一个用于将票证上传到数据库的主页 我有一个选择字段 我想保留用户在提交表单之前选择的值 但它没有发生 这是我选择字段的代码
  • php 错误 fopen(): 文件名不能为空

    发送带有附件代码的电子邮件工作正常 最近我们已将文件传输到另一个托管服务器 idk 发生了什么 它显示以下错误 警告 fopen 第 106 行 home hugerecruitmetnt public html validatecva p
  • CURL 中的 data-urlencode 是什么意思?

    我搜索了很多个小时试图弄清楚 php curl 中的 data urlencode 是什么 我尝试过这个 但我认为这是不对的 xmlpost object1 file https www lob com goblue pdf 在文档中是 d
  • 使用正则表达式提取两个短语之间的所有单词[重复]

    这个问题在这里已经有答案了 我正在尝试使用以下正则表达式提取两个短语之间的所有单词 b item W w W 0 2 1 one W w W 0 3 business b b item W w W 0 2 3 three W w W 0 3
  • post php mysql 的拆分关键字

    我有一个表存储帖子 ID 它的标签如下 Post id Tags 1 keyword1 keyword2 keyword3 我想循环遍历该表中的每一行并执行以下操作 将关键字1 关键字2 关键字3放入新表中 word id word val
  • 无法显示 Laravel 欢迎页面

    我的服务器位于 DigitalOcean 云上 我正在使用 Ubuntu 和 Apache Web 服务器 我的家用计算机运行的是 Windows 7 我使用 putty 作为终端 遵循所有指示https laracasts com ser

随机推荐

  • 合并两个数组,同时保留原始数组顺序

    我正在编写一个从外部源 Twitter 请求数据的应用程序 该数据按时间顺序作为有序数组返回 外部阵列 项目 A 最新 Item B Item C 项目 D 最旧的 我将这些项目添加到另一个保留相同顺序的数组中 My array 项目 A
  • Thread.Abort 和替代方案

    这更多是出于个人好奇 兴趣 而不是我试图解决的特定问题 假设您有一个程序正在对用户提供的信息 例如搜索字符串 执行某些操作 这些信息会随着用户键入而更改 假设您想要向用户显示与他们在任何给定时间键入的内容最相关的信息 如果线程确实可以中止
  • PHP 中内爆二维数组

    我有一个像这样的数组 Array 0 gt Array 0 gt a 1 gt b 1 gt Array 0 gt c 2 gt Array 0 gt d 1 gt e 2 gt f 我想将数组转换为如下所示的字符串 arrtostr a
  • Spring Boot 项目设置设计决策

    我们将使用 Spring Boot 来创建服务 我们最初的想法是每个服务 不一定是微服务 都是独立的 并部署为 jar 文件 用于构建的 Maven 我想知道什么是一个好的 Spring Boot 项目结构 因为每个服务都是独立的 但我猜测
  • MS Exchange 服务器的 Grails 邮件插件配置

    我可以使用我的 gmail 帐户从我的 grails 应用程序发送电子邮件 但是当我使用 MS Exchange 服务器帐户时 我收到此错误 Message Mail server connection failed nested exce
  • 如果再次调用函数,则取消超时/计时器 --- debounce 函数

    我想创建一个启动超时的函数 但如果在计时器结束之前再次调用该函数 请取消原始调用并再次启动计时器 我想我可以这样做 function setTimer setTimeout gt do something 3000 但这不起作用 每次我运行
  • Ruby Regex 用于捕获两个字符串之间的所有内容(包括)

    我正在尝试清理一些 HTML 并仅删除一个标签 我真的很想避免使用 nokogiri 等 所以我出现了以下字符串 我想删除它 div class lt div gt m这有效 但它也会匹配并包括任何进一步的 div 文档中的标签 这是我不想
  • PySpark:如何转置数据框中的多列

    我是 Spark 新手 需要帮助将以下输入数据帧转换为所需的输出df 行到列 使用 PySpark 或 Spark Sql 输入数据框 A B C D 1 2 3 4 10 11 12 13 所需的输出 转置 数据 A 1 B 2 C 3
  • 为什么我看到的线程数比我在“ps”列表中创建的线程数多了一个?

    当我创建一个线程时 pthread create 从我的主进程中 我看到三 3 个线程ps上市了 这是为什么呢 也就是说 我看到主线程的进程 一个用于创建的线程 第三个用于其他线程 还有什么东西 一切工作正常 我只是想知道额外列出的过程是什
  • 使用 std::ios::sync_with_stdio(false) 可以比 scanf 和 printf 更快吗?

    我只知道使用 cin 和 cout 会比 scanf 和 printf 慢 然而 最佳答案说使用 std ios sync with stdio false 可以比 scanf printf 更快 然而我做了这个实验 发现不对 是我的错吗
  • 在最后一个窗口上调用 dispose 后,java swing 程序未关闭

    前言 这是我做的第一个真正的挥杆项目 我有一个 swing 程序 其中一个 JButton 应该退出该程序 该按钮会触发 this dispose 当我点击这个 JButton 时 它does使窗口完全消失 但查看调试器 程序本身仍在运行
  • 从 git status bash 输出创建字符串数组

    我正在尝试创建修改后的 git 文件的字符串数组 以便我可以在 bash 程序中使用它们 示例输出 On branch restructured Your branch is up to date with origin restructu
  • 如何使用 React Navigation v5 保留带有嵌套导航的初始路线?

    首先让我声明我知道如何使用反应导航从一个嵌套页面导航到另一个嵌套页面 但是 每当我导航到不是初始路线的嵌套屏幕时 每当我导航回该嵌套堆栈时 该屏幕就会成为第一个屏幕 Example Parent Navigator Nested Stack
  • 在 NSSplitView 中隐藏分隔线

    Since NSSplitView不允许隐藏其分隔线 委托方法仅允许隐藏位于分割视图边缘的分隔线 我选择子类化NSSplitView并重写其绘制方法以防止绘制特定的分隔线 但是 一旦我覆盖其中任何一个draw rect or drawDiv
  • Socket.io 脚本大小减小

    socket io 源脚本大约 70k 很大一部分是注释 空格 我需要将该脚本缩小到较小的大小 有些脚本甚至没有空格 代码都在一起 这减少了脚本的原始大小 socket io 脚本的位置在哪里 以便我可以删除注释和空格 或者是否有一个没有注
  • 将表达式参数作为参数传递给另一个表达式

    我有一个过滤结果的查询 public IEnumerable
  • 使用 CSS 在页面加载时实现淡入效果

    CSS 过渡可用于允许文本段落在页面加载时淡入吗 我真的很喜欢它的样子http dotmailapp com 并希望使用 CSS 来实现类似的效果 该域名已被购买 不再具有上述效果 可以查看存档副本在时光机上 插图 有这个标记 div p
  • 将 lambda 作为泛型类型的参数传递 - java 8

    如果我有一个方法foo Predicate bar 我接下来可以使用它 foo new Predicate
  • 为什么设置“export OPENBLAS_NUM_THREADS=1”会影响性能?

    我尝试将 export OPENBLAS NUM THREADS 1 设置为这个文件建议 但我发现一个奇怪的现象 设置这个会严重损害我的 RL 算法的性能 我对 TD3 和 SAC 做了一些测试 所有结果一致表明 导出 OPENBLAS N
  • 在 WooCommerce 电子邮件通知上显示第二个自定义字段

    我已将两个自定义字段添加到我的 WooCommerce 结帐页面 我设法让它们出现在前端和后端 下一步是获取要在订单电子邮件中显示的字段 我发现这段电话号码代码非常适合电话号码自定义字段 add filter woocommerce ema