在自定义php文件中使用Woocommerce函数



我是PHP编程的初学者。我想创建一个PHP文件,其中预定义顺序(在我的例子中为108)中的order_status更改为完成。

因此,我需要 wooCommerce 函数get_order($ID)update_status,但我不知道如何在我的 PHP 中使用它们。我希望你理解我的问题。从 Java 我可以想象我需要从类或类似的东西中获取一个实例?

这是我到目前为止的代码:

<?php $ord = new WC_Order(108); $ord->update_status('completed'); ?>

当我打开页面时,我收到以下错误:

Fatal error: Uncaught Error: Class 'WC_Order' not found (...)

一般来说,在Wordpress/WooCommerce上,你会包含你的函数代码:

  • 在活动子主题(或活动主题)function.php文件中
  • 在插件中...

您还可以在以下位置启用一些代码:

  • 您的主题模板
  • 您将通过活动子主题(或活动主题)覆盖的WooCommerce模板。

现在要执行该函数,您将需要一个将执行您的函数的事件。

(Wordpress)Woocommerce中,有很多动作钩子是在某些特定事件上触发的,你可以用它来执行你的函数。在这种情况下,您的函数将被挂钩(准备在特定事件上执行)。

如果要更改特定订单的状态,最好在后端的相关订单编辑页面进行。

例如:例如,
当客户在结账后在终点(感谢页面)提交订单时,您可以更改订单状态order-received

add_action( 'woocommerce_thankyou', 'custom_woocommerce_auto_complete_order');
function custom_woocommerce_auto_complete_order( $order_id ) {
if ( ! $order_id ) return;
// Get an instance of the WC_Order object
$order = wc_get_order( $order_id );
// Change order status to "completed"
$order->update_status( 'completed' );
}

此代码是官方代码片段:自动完成订单。

这是一个很好的例子,向您展示了事情是如何工作的......因此,在您的情况下,您在这里使用WC_Order类方法,例如update_status().

现在有了这个代码库,你可以像这个答案一样细化行为: WooCommerce:
自动完成付费订单(取决于付款方式)


与订单相关:如何获取WooCommerce订单详细信息

相关内容

  • 没有找到相关文章

最新更新