在 WooCommerce 3+ 中向订单添加自定义字段

2024-01-03

在 WooCommerce 中,我想添加一个新的自定义字段来订单详细信息。现在我可以使用下面的代码创建一个新的自定义字段“referenceNumber”并在其中添加“ordercreated”值:

update_post_meta($order_id, 'referenceNumber', 'ordercreated']);

我想要的是在下订单后通过结帐来进行。

但它不起作用,它不会向订单详细信息页面添加新的自定义字段,也不会添加值“ordercreated”,正如您在此屏幕截图中看到的:

那么问题是在 WooCommerce 下订单时如何添加自定义字段?


要将自定义字段添加到订单中,您可以使用:

  • WordPressupdate_post_meta()功能(来自订单 ID):

    $order_id = $order->get_id(); // If needed
    
    update_post_meta($order_id, 'referenceNumber', 'ordercreated'); // add and save the custom field
    
  • WooCommerceWC_Data update_meta_data() method (来自订单对象或订单 ID):

    $order = wc_get_order( $order_id ); // If needed: Get the WC_Order object from the order Id
    
    $order->update_meta_data('referenceNumber', 'ordercreated'); // Add the custom field
    
    $order->save(); // Save the data
    

Where referenceNumber is the meta key and ordercreated is the 元值。两者都有效。


现在向订单添加自定义字段当客户下订单时, 您可以使用:

  • woocommerce_checkout_create_order动作挂钩(保存订单数据之前 - 用于在保存订单数据之前调整订单数据):

    add_action( 'woocommerce_checkout_create_order', 'add_custom_field_on_placed_order', 10, 2 );
    function add_custom_field_on_placed_order( $order, $data ){
        $order->update_meta_data( 'referenceNumber', 'ordercreated' );
    }
    
  • woocommerce_checkout_update_order_meta 动作挂钩(订单已存在 - 用于添加自定义元数据):

    add_action( 'woocommerce_checkout_update_order_meta', 'add_custom_field_on_placed_order', 10, 2 );
    function add_custom_field_on_placed_order( $order_id, $data ){
        update_post_meta($order_id, 'referenceNumber', 'ordercreated');
    }
    
  • woocommerce_checkout_order_created 动作挂钩(订单已存在 - 触发操作或添加自定义元数据):

    add_action( 'woocommerce_checkout_order_created', 'add_custom_field_on_placed_order', 10, 2 );
    function add_custom_field_on_placed_order( $order_id, $data ){
        $order->update_meta_data( 'referenceNumber', 'ordercreated' ); // Add the custom field
        $order->save(); // Save data (as order exist yet)
    }
    

    Or:

    add_action( 'woocommerce_checkout_order_created', 'add_custom_field_on_placed_order' );
    function add_custom_field_on_placed_order( $order ){
        update_post_meta($order->get_id(), 'referenceNumber', 'ordercreated');
    }
    

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

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

在 WooCommerce 3+ 中向订单添加自定义字段 的相关文章

  • Magento 中的子域 htaccess 问题

    public html www domain com public html subdomain subdomain domain com public html htaccess public html subdomain htacces
  • PHP 用星号替换所有字符

    假设我有一个字符串形式的密码 password thisisaplaintextpassword 我怎样才能把它变成下面的样子 password 我想通过电子邮件向用户发送他们的帐户详细信息 但不想发送整个内容 Use 字符串重复 http
  • 压缩 zend Framework 2 的 html 输出

    我目前正在 PHP 5 4 4 上使用 Zend Framework 2 beta 开发个人 web 应用程序以用于自学目的 我想知道是否可以在 html 输出发送到浏览器之前拦截它 以便通过删除所有不必要的空格来缩小它 我怎样才能在ZF2
  • PHP解析xml文件错误

    我正在尝试使用 simpleXML 来获取数据http rates fxcm com RatesXML http rates fxcm com RatesXML Using simplexml load file 我有时会遇到错误 因为这个
  • 如何在 Zend Framework 中存储 cron 作业的脚本?

    因为 ZF 的所有 URL 都依赖于 mod 重写 所以我并不清楚应该在哪里存储用于 cron 作业的本地脚本 有人有什么建议 或者有 正式接受 的方式吗 我用模块化目录结构 http framework zend com manual e
  • 按类别 ID 获取产品

    我正在为 woocommerce 编写一个定价表插件 用户插入带有 woocommerce 产品类别 ID 的短代码 更新页面后 用户可以看到一个包含产品名称和价格列表的表格 我怎样才能获得带有类别ID的产品列表 在下面的代码中 pid是用
  • Node.js 中的 PHP exit()/die() 等价物是什么

    什么是 PHP die http www php net manual de function die php http www php net manual de function die php 在 Node js 中等效吗 https
  • 运行PHPUnit测试时如何避免内部调用函数?以及如何设置内部性能的模拟数据?

    我有一个类 Receipt php
  • PHP 中的 Preg_replace

    我想替换 中包含的字符串中的内容content 它是多行等 preg replace 函数应该删除整个 com 没有垫子 蒙特 尝试这个 result preg replace s replacement content subject
  • Laravel 5.2 带有可变参数的命名路由用法

    我有这样的路线 Open New Subscription page Route get account subscriptions create menu uses gt Subscriptions SubscriptionControl
  • CakePHP Xml 实用程序库触发 DOMDocument 警告

    我正在使用 CakePHP 在视图中生成 XMLXML核心库 http book cakephp org 2 0 en core utility libraries xml html xml Xml build data array ret
  • 使用PHP套接字发送和接收数据

    我正在尝试通过 PHP 套接字发送和接收数据 一切正常 但是当我尝试发送数据时 PHP 不发送任何内容 Wireshark 告诉我发送的数据长度为 0 我正在使用这段代码
  • 在 Woocommerce 购物车中设置最小小计金额

    我正在尝试将最低订单金额设置为 25 美元 到目前为止 我找到了这段代码 如果未达到最低限度 它似乎可以阻止结账 但它使用的小计包含税费 我需要在总计中排除税费 add action woocommerce checkout process
  • 如何编写在正文中包含锚标记的 Zend Framework URL?

    使用 Zend Framework 中设置的标准 MVC 我希望能够显示始终具有锚点的页面 现在我只是在 phtml 文件中添加一个带有 anchor 的无意义参数
  • PHP中如何识别服务器IP地址

    PHP中如何识别服务器IP地址 对于服务器 ip 来说是这样的 SERVER SERVER ADDR 这是港口的 SERVER SERVER PORT
  • 如何在 HTML / Javascript 页面中插入 PHP 下拉列表

    好吧 这是我的第二篇文章 请接受我是一个完全的新手 愿意学习 花了很多时间在各个网站上寻找答案 而且我几乎已经到达了我需要到达的地方 至少在这一点上 我有一个网页 其中有许多 javascript 函数 这些函数一起使用 google 地图
  • 如何在php中使用preg添加html属性

    我正在寻找在 php 中编写一个脚本来扫描 html 文档并根据它找到的内容向元素添加新标记 更具体地说 我是扫描文档并为每个元素搜索CSS标记 float right left 如果找到它 它会添加align right left 基于它
  • 将 MySQL 结果作为 PHP 数组

    mysql 表 config name config value allow autologin 1 allow md5 0 当前的 php 代码 sth mysql query SELECT rows array while r mysq
  • 在 PHP 中模拟 jQuery.ajax 请求

    我必须在 PHP 中模拟 AJAX 请求 就像在 jQuery 中一样 我当前的代码在这里 原始 AJAX 调用 不得修改 ajax type POST url someFile php data data success function
  • 文件修改时间检查的成本

    对于Linux下包含少量字节的文件 我只需要处理自上次处理以来发生更改的时间 我通过调用 PHP 检查文件是否被更改clearstatcache filemtime 定期 由于整个文件总是很小 因此删除对 filemtime 的调用并通过将

随机推荐

  • 当 Activity onDestroy 调用时 Android onCreate 服务被调用

    我有一项启动服务的活动 如果我退出到主屏幕 然后从最近的应用程序列表中手动关闭活动 则服务中会再次调用 onCreate 因此 当 Activity 被销毁时 onCreate 会再次被调用 即使在 Activity 中调用 onDestr
  • 在 Word 中引用 Excel 单元格

    有谁知道用于直接在 Word 文档中引用 Excel 单元格的预打包解决方案 例如 TestExcel Tab1 A1 亲爱的 TestExcel Tab1 A2 先生 我们的系统已提醒我们您的帐户 TestExcel Tab1 Accou
  • 使用 simctl 运行 XCTest 包

    我有一个 XCTest 包 我可以使用它在模拟器上通过 xcode 运行simctl 我使用的是 iPhone 6 iOS 9 1 模拟器 环境变量如下 export SIMCTL CHILD TestBundleLocation User
  • Knockout - 被点击的元素

    我有以下标记 fieldset div div fieldset
  • 如何将两个整数相除以获得双精度数?

    如何将两个整数相除以获得双精度数 您想要投射数字 double num3 double num1 double num2 注意 如果 C 中的任何参数是double a double使用除法 结果是double 因此 以下内容也可以工作 d
  • Python将变量视为文字/原始字符串[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我不敢相信治疗如此困难variable as a 原始字符串 我搜索并发现了类似的问题 但没有正确的答案 我有一个带有存储域名的变量 do
  • GMA 500 集成显卡上的 WPF 性能缓慢

    我的团队正在开发要部署在 Intel Atom Z530 上网本硬件平台上的 WPF 应用程序 Intel Atom Z530 配备 Intel GMA 500 集成显卡 具有 PowerVR SGX 535 GPU 核心 PowerVR
  • 射线与平面的交点坐标

    我有一条射线和一架飞机 射线与平面相交 我想知道在哪里 如何获得该交点的世界坐标 我的特殊情况是 我将屏幕坐标取消投影到相机并创建光线 该平面是场景的地面 var vector new THREE Vector3 mousePosition
  • 如何在不刷新整个页面的情况下让 Grunt/Watch/LiveReload 重新加载 Sass/CSS?

    到目前为止 我已经让一切按照我想要的方式工作 即监视我想要的所有文件并在发生更改时刷新 除了我希望能够对 Sass CSS 进行修改并刷新它在没有页面加载的浏览器中 这不是什么大问题 但有时我会在进行一些页面交互后尝试修改某些内容的样式 并
  • 使用“data.table”根据变量获取子组的第一个

    考虑一个由分组变量组成的数据集 这里id 和一个有序变量 这里date df lt data frame id rep 1 2 2 date 4 1 id date 1 1 4 2 2 3 3 1 2 4 2 1 我想知道最简单的方法是什么
  • iPhone Web App - 在 iOS8 中停止身体弹跳/滚动

    是的 我知道 这个问题之前已经被问过一千次了 感谢你们所有人 我终于找到了一个解决方案 最终在 更新到 iOS 8 后 似乎没有任何效果 iOS7 中最适合我的是什么 Css html body scrollable overflow au
  • mysql中选择部分表列数据

    我有一个包含 2000 个条目的 照片 表 该表有一列名为photo note其中包含以下格式但具有不同放大值的数据 Magnification 30x The resolution varies depending on 我需要选择以 分
  • CTE(通用表表达式)与临时表或表变量,哪个更快?

    CTE 通用表表达式 与Temp tables or Table variables 哪个更快 正如我在评论中已经说过的 这取决于 它确实取决于您的查询 您的数据 有多少 它是什么类型 等等 不过 需要记住一些要点 CTE 是仅对下一条语句
  • 编译 jitsi 项目时,转换为 Dalvik 格式失败,出现错误 1

    我正在尝试编译并运行该项目https github com jitsi jitsi android https github com jitsi jitsi android在 Eclipse 上通过导入 我已成功导入项目 添加了外部 Jar
  • Shopify 结账中的脚本标签

    我正在考虑为 Shopify 开发一款应用程序 该应用程序将为商店的结帐页面添加功能 如果用户不必将代码复制并粘贴到文件中 那将是理想的选择 因此我正在考虑使用 ScriptTag API http api shopify com scri
  • 为什么内部调用内的 lapply 与内部调用内的变量赋值不同?

    考虑 notBroken lt within mtcars gear lt as factor gear cyl lt as factor cyl str notBroken 我们的输出 gt str notBroken data fram
  • 将 SQL 中的 CASE 表达式转换为 SSIS 中的派生列 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions CASE WHEN CHARINDE
  • 禁用 Cypress 自动滚动

    我正在测试我的应用程序 我有很长的侧边菜单 并且我有这样的代码 cy get tab click force true 自动滚动发生在获取和单击之间 然后选定的选项卡不可见 因为顶部菜单的位置已固定 我找到了很多解决方案 但没有一个有效 到
  • 如何在 Swift iOS 应用程序中添加 Google Drive API?

    我有一个用 Swift 编写的应用程序 它已经使用了 SwiftyDropbox API 我用 cocoapods 安装了 SwiftyDropbox use frameworks 关键词 现在 当我添加这个 pod 时 Google AP
  • 在 WooCommerce 3+ 中向订单添加自定义字段

    在 WooCommerce 中 我想添加一个新的自定义字段来订单详细信息 现在我可以使用下面的代码创建一个新的自定义字段 referenceNumber 并在其中添加 ordercreated 值 update post meta orde