【问题标题】:How can I run a small bit of PHP with woocommerce completed sale如何通过 woocommerce 完成销售运行一点 PHP
【发布时间】:2016-02-24 04:16:58
【问题描述】:

我正在使用 woocommerce,我需要向包含订单详细信息和自定义字段的单独数据库添加一个条目。

我使用代码片段插件,但我需要知道在订单标记为已完成时使用哪些函数来触发代码以及如何获取产品详细信息。

我认为让我保持这种稳定的简单方法是让我的函数获取数据并将其发布到卡系统上的脚本,该脚本将处理将数据写入数据库。我需要的唯一字段是买家姓名、电话和电子邮件;凭证的 SKU;和自定义字段 (card_type)。

为了提供更多背景信息,我们正在出售当地消防博物馆的通行证。通行证是一种可变产品,具有不同的数量作为不同的变化。我制作的跟踪系统是一个非常简单的 PHP CRUD 设置,它记录卡详细信息和交易以跟踪余额。我们有很多不同的志愿者,我也想在卡片跟踪系统中跟踪 woocommerce 创建的代金券。这样我就不必继续向 woocommerce 添加受限用户。为了让他们看到和兑换优惠券,我必须给予比我想要的更多的许可。

客户在线购买代金券,将其带入,我们将给他们一张可重复使用的卡片。

【问题讨论】:

标签: php wordpress woocommerce


【解决方案1】:

您可以使用主题的 functions.php 作为触发点。

使用这个钩子woocommerce_order_status_completed:

add_action( 'woocommerce_order_status_completed', 'handle_order_completed');

回调函数将注入一个$order_id

function handle_order_completed($order_id){...

通过首先检索订单对象本身来检索您需要的信息:

wc_get_order($order_id)

自定义字段

订单自定义字段只是发布自定义字段。因此,您可以通过老可信赖的get_post_meta 获得它们:

$orderMeta = get_post_meta($order_id, 'custom_order_meta_name_here');

【讨论】:

  • 优秀的,我如何找到自定义元字段?我知道我可以将$order->billing_email 用于静态字段。并且对我的问题的评论帮助我将产品放入数组 $order->get_items() 是否有自定义字段?
  • 太完美了,谢谢!
猜你喜欢
  • 2019-06-25
  • 2014-12-01
  • 2018-05-07
  • 1970-01-01
  • 1970-01-01
  • 2014-08-02
  • 1970-01-01
  • 1970-01-01
  • 2022-09-28
相关资源
最近更新 更多