在 WooCommerce 3 中获取订单运送商品详细信息

2024-03-10

我怎样才能得到订单运输方式 ID.?

例如“flate_rate”。

自 WooCommerce 3 以来,一切都发生了变化,现在变得很复杂。

我已经尝试过$order->get_data()在 foreach 循环中,但数据受到保护。


如果您想获取订单商品运输数据,您需要首先在 foreach 循环中获取它们(例如'shipping'项目类型)和使用WC_订单_项目_运输 https://docs.woocommerce.com/wc-apidocs/class-WC_Order_Item_Shipping.html访问数据的方法

$order_id = 528; // For example

// An instance of 
$order = wc_get_order($order_id);

// Iterating through order shipping items
foreach( $order->get_items( 'shipping' ) as $item_id => $item ){
    $order_item_name             = $item->get_name();
    $order_item_type             = $item->get_type();
    $shipping_method_title       = $item->get_method_title();
    $shipping_method_id          = $item->get_method_id(); // The method ID
    $shipping_method_instance_id = $item->get_instance_id(); // The instance ID
    $shipping_method_total       = $item->get_total();
    $shipping_method_total_tax   = $item->get_total_tax();
    $shipping_method_taxes       = $item->get_taxes();
}

您还可以使用以下命令获取此(不受保护且可访问)数据的数组WC_Data https://docs.woocommerce.com/wc-apidocs/class-WC_Data.html#methods method get_data() https://docs.woocommerce.com/wc-apidocs/class-WC_Data.html#methods在这个 foreach 循环中:

$order_id = 528; // For example

// An instance of 
$order = wc_get_order($order_id);

// Iterating through order shipping items
foreach( $order->get_items( 'shipping' ) as $item_id => $item ){
    // Get the data in an unprotected array
    $item_data = $item->get_data();

    $shipping_data_id           = $item_data['id'];
    $shipping_data_order_id     = $item_data['order_id'];
    $shipping_data_name         = $item_data['name'];
    $shipping_data_method_title = $item_data['method_title'];
    $shipping_data_method_id    = $item_data['method_id'];
    $shipping_data_instance_id  = $item_data['instance_id'];
    $shipping_data_total        = $item_data['total'];
    $shipping_data_total_tax    = $item_data['total_tax'];
    $shipping_data_taxes        = $item_data['taxes'];
}

要完成您可以使用以下命令WC_Abstract_Order https://docs.woocommerce.com/wc-apidocs/class-WC_Abstract_Order.html#methods与“运输数据”相关的方法,如本示例所示:

// Get an instance of the WC_Order object
$order = wc_get_order(522);

// Return an array of shipping costs within this order.
$order->get_shipping_methods(); // same thing than $order->get_items('shipping')

// Conditional function based on the Order shipping method 
if( $order->has_shipping_method('flat_rate') ) { 

    // Output formatted shipping method title.
    echo '<p>Shipping method name: '. $order->get_shipping_method()) .'</p>';
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 WooCommerce 3 中获取订单运送商品详细信息 的相关文章

  • 显示表中的记录

    我的第一个 PHP 项目遇到了一些麻烦 我试图从 MySQL 数据库 有 3 条记录 获取数据并将其显示在表格中 问题是它似乎只显示记录 2 和 3 它跳过了第 1 条记录 请参阅我的代码并在下面显示 if mysqli connect e
  • 为什么我不能在 TCPDF 表中使用 č,ć,đ 图表?

    我正在为我的网站构建一个 tcpdf 文件 该 tcpdf 文件中有一个包含一些数据的表格 但我无法使该章程正常工作 对于编码 我使用 windows 1250 宪章女巫不起作用 我已经尝试过 utf 8 但仍然没有得到这个章程 tcpdf
  • WooCommerce 使用 AJAX 设置购物车数量?

    我已经为此绞尽脑汁好几天了 需要一些指导 我正在为 WooCommerce 网站完全从头开始制作自定义主题 现在我正在尝试让购物车功能正常工作 我一直试图使用按钮 来更新购物车中产品的数量 对我来说问题似乎是WC 我在functions p
  • 当sql连接中存在两个同名列时,如何从一个表列中获取值

    当我连接两个具有相同名称列的表时 我目前面临着尝试获取值的问题 例如 table1 date和table2 date 每个表中的日期不同 我将如何获取 日期 本例中的表1 我目前正在跑步 while row mysqliquery gt f
  • 为什么这会返回资源 id #2? [复制]

    这个问题在这里已经有答案了 可能的重复 我如何从 PHP 中的 MySql 响应中 回显 资源 id 6 https stackoverflow com questions 4290108 how do i echo a resource
  • 在 Laravel 5 中截断表

    描述 我有一个充满测试数据的表 有时 我想清除它以获取新数据 我可以在 DBMS 应用程序中执行截断 例如MySQL 工作台 但我试图在我的应用程序中实现它 Goal 创建一个按钮 单击时截断数据库中的表 这是我的步骤 1 声明一条路线 R
  • 使用 php 在多维数组中按键排序[重复]

    这个问题在这里已经有答案了 可能的重复 在 PHP 中对多维数组进行排序 https stackoverflow com questions 2059255 sorting multidimensional array in php 如何在
  • 使用先前的反向引用作为命名捕获组的名称

    有没有办法使用对先前捕获组的反向引用作为捕获组的名称命名捕获组 这可能不可能 如果不可能 那么这就是一个有效的答案 下列 data description some description preg match data matches p
  • WordPress 分页自定义帖子类型

    我有一个名为 新闻 的页面 使用页面模板page newslist php 它应该显示来自自定义帖子类型 也称为新闻 的帖子 我意识到两者具有相同的名称会导致问题 因此在注册自定义帖子类型时 我进行了重写以将其与页面区分开来 rewrite
  • 使用php将数据存储到文本文件中?

    我正在尝试将数据存储在文本文件中 例如使用 php 将数组存储到文本文件中 而不是存储到 mysql 数据库中 例如 这里是要存储在文本文件中的数据 name gt john age gt 25 location gt australia
  • 强制 Composer 下载 git repo 而不是 zip

    我对作曲家有一些问题 require php gt 5 3 2 kriswallsmith buzz 0 7 Repo https github com kriswallsmith Buzz tree v0 7 https github c
  • apache_request_headers() 与 $_SERVER

    据我所知 apache request headers 提供与以下相同的信息 SERVER 但按键略有不同 为什么有人应该使用apache request headers 而不仅仅是从那里获取这些信息 SERVER 我在 Centos 上使
  • postgreSql 中特定时间后表更新

    我已经在 postgres 中创建了表 现在我想在特定时间 例如 1 小时 后更新一行 我看到很多问题 例如 https dba stackexchange com questions 56424 column auto updated a
  • 自动建议 php 的 ajax

    我有一个 html 表单 php 脚本和 jquery 我需要一个 ajax 代码来从我的 php 脚本中进行自动建议 以下是代码 表单 html
  • 检查条件并通过 Zend 中的 Regex 识别 url 中的模式

    我正在实现 Zend Regex 路由 并且必须对 url 执行多次检查 例如 如果这是我的网址 http localhost application public index php module controller action 这是
  • 从支付网关重定向回时用户会话丢失

    我已将 Cyber source 配置为我的支付网关 我能够导航到 cybersource 并进行付款 并能够成功重定向回该网站 我也可以取消付款并重定向回我的网站 我收到来自支付网关的响应 但是 用户在从支付网关重定向回来时会被注销 我正
  • 从 PHP 数组生成 HTML 表

    我不明白这一点 我需要解决看似简单的问题 但这超出了我的逻辑 我需要编写一个函数 table columns input cols 它将输出一个表 示例 input array apple orange monkey potato chee
  • 检查 $_POST 数据

    我正在对表单进行一些垃圾邮件检查 下面的代码在我的本地主机上正常工作 如果为 true 则重定向到 google com 但是 当它在生产服务器上时却不起作用 执行脚本的其余部分并且不重定向到 Google com if POST SERV
  • 使用 php-ews(Exchange Web 服务)在特定日期后获取电子邮件

    在我的 PHP 脚本中 我需要弄清楚如何检索指定消息 ID 之后或特定日期之后的所有电子邮件 两者都可以 我只需要检索自上次抓取收件箱以来的新电子邮件 这个收件箱每天收到数千封电子邮件 而且我在 30 天内无法删除任何电子邮件 对于初始导入
  • 为什么我的会话仍然存在?

    我一定很愚蠢 因为似乎一件相当明显的事情现在让我完全困惑 我有一个会议 ie SESSION handbag id 在某个时刻 我需要彻底终止这个会话 ie at the start of the page session start el

随机推荐

  • 如何禁用移动响应式缩放?

    我编写了以下代码来禁用放大或缩小 除以下手机外 它在所有手机上都能正常工作最近的 iPhone 例如 iphone 6 iphone 7 此功能不起作用 我哪里做错了 你的代码没有问题 只是IOS 10不支持它 你可以找到更多here ht
  • 针对不受信任的 SSL 端点生成 WCF 代理

    我需要为客户端公开的服务生成 WCF 代理 该服务被严格锁定 因此事实证明这很困难 另外 我是 WCF 的新手 所以我可能会遗漏一些明显的东西 客户端仅向我们的生产服务器开放了防火墙 因此我无法从我的开发计算机上的 Visual Studi
  • 以编程方式在(线性)布局(即 ScrollView 内部)内添加视图

    我有一个应用程序 点击一些后 会显示新闻内容的活动 我想在其底部显示注释 这些注释是在异步任务中动态加载的 一种方法是使用 ListView 和自定义 ArrayAdapter 但是 我必须将 ListView 放入 ScrollView
  • ASP.NET MVC2 错误:没有为此对象定义无参数构造函数

    编辑 这是固定的 请参阅下面的解决方案 Solution 首先 我错误地将节点定义在 shared web config 中 而不是 WebUI 项目根目录中的 web config 中 我也没有在 web config 中正确定义我的连接
  • 每小时行数

    我正在探索自行车共享数据 我合并了两个表 一个包含自行车共享数据 另一个包含天气数据 开始日期 列位于自行车共享数据中 日期 列是天气数据 我想对每小时的 ID 计数进行分组 这样我就可以看到天气对自行车使用的影响 ID Start End
  • html 在双语网站中保留语言

    我正在开发一个双语网站 西班牙语 英语 我采纳了第二个答案的建议在这篇文章中 https stackoverflow com questions 32008125 using javascript to change website lan
  • 在 Scala 中 - 将案例类列表转换为元组列表

    我有一堂案例课 case class table a String b Option String 我有一个这种类型的列表 我们称之为 list1 val list1 List table tabele get just filling t
  • Python导入:更改“子”中的变量会更改“父”/其他子中的变量吗?

    假设您有 3 个模块 a py b py 和 c py a py v1 1 v2 2 etc b py from a import c py from a import v1 0 c py会改变a py和b py中的v1吗 如果没有 有办法
  • wget 中的 HTTP 500 错误

    看看这个页面 http www ptmytrade com product asp id 61363 http www ptmytrade com product asp id 61363 它加载良好 至少在这里 现在我想用 wget 来抓
  • 返回数字的最后 5 位

    如何只显示号码的最后5位 输入示例 123456789 将返回 56789 假设需要转换的数字是整数 然后您可以使用模块化数学 您可以将数字转换为以 100 000 为基数的模块 这意味着仅保留最后 5 位数字 转换可以通过除法余数的运算符
  • 如何禁用和启用表 mysql 中的所有约束(包括)。 PK FK CHK UNI 等

    我需要将测试数据加载到表中 我想禁用每个可能的约束 我已经找到了如何全局关闭外键 但我需要禁用所有约束 PK FK CHK UNIQ 等 是否可以在全球范围内进行 当然 在那之后我必须打开所有限制 使用以下命令禁用约束 disable UN
  • 从输出流获取输入流

    我有一个组件在输出流中为我提供数据 ByteArrayOutputStream 并且我需要将其写入 SQL 数据库的 blob 字段而不创建临时缓冲区 因此需要获取输入流 根据答案here https stackoverflow com q
  • 为什么我的 php 代码返回 inf?

    我有一个数学问题 我试图计算一组值的总组合 当我尝试运行我的计算时 它只返回 INF 而不是数字 tally 1 foreach output as key gt er tally tally ord strtolower er 96 ec
  • 按时间间隔访问和设置 iPhone 的闹钟/用户警报

    有什么方法可以访问或设置 iPhone 的闹钟吗 我假设如果这不可用 唯一的其他方法是推送通知以定期提醒用户 有任何想法吗 没有用于访问日历或闹钟的公共 API
  • 退出前是否需要关闭文件描述符?

    当然 大多数情况下的直接答案是 yes 而且我坚信进程应该正确地清理它分配的任何资源 但我的情况是一个长期运行的系统守护进程 它在启动时打开固定数量的文件描述符 并在启动之前关闭它们 退出 这是一个嵌入式平台 我试图使代码尽可能紧凑 同时不
  • 在 VBA 中逐行读取/解析文本文件

    我正在尝试使用 VBA 解析文本文档并返回文本文件中给出的路径 例如 文本文件如下所示 Blah blah instructions Blah blah instructions on line 2 G Folder data xls D
  • Spring - 从查询中获取结果集

    我想用Spring JDBCTemplate但我想收到ResultSet 它不会将完整的查询结果存储在内存中 就像您会发现使用 java 执行标准语句一样JDBC 我发现的最接近的ResultSet was SqlRowSet sqlRow
  • 使用 SimpleDateFormat 时出错

    我正在尝试使用 SimpleDateFormat 类从该字符串中解析 DateTime 2012 年 7 月 5 日 11 38 02 442 世界标准时间 UTC 上午 我尝试了以下格式字符串 SimpleDateFormat datef
  • 数据库设计(库存数据库)

    我正在寻求设计一个跟踪小吃店的库存数据库 由于这将是单人 计算机访问 并且需要轻松移动到另一个系统 因此我计划使用 SQLite 作为数据库引擎 基本概念是跟踪从 Sams Club 等批发仓库购买的库存 然后跟踪库存 我试图克服的主要障碍
  • 在 WooCommerce 3 中获取订单运送商品详细信息

    我怎样才能得到订单运输方式 ID 例如 flate rate 自 WooCommerce 3 以来 一切都发生了变化 现在变得很复杂 我已经尝试过 order gt get data 在 foreach 循环中 但数据受到保护 如果您想获取