gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 14:09:49 24 4
gpt4 key购买 nike

我是 PHP 编程的初学者。我想创建一个 PHP 文件,其中 order_status从预定义的订单(在我的情况下为 108)更改为已完成。

因此我需要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 模板 override through your active child theme (或事件主题)。

  • Now to execute that function, you will need an event that will execute your function.



    在 (Wordpress) Woocommerce 中有很多 action hooks在某些特定事件上触发,您可以使用这些事件来执行您的功能。在这种情况下 你的函数会被钩住 (准备在特定事件上执行)。

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

    一个例子:
    例如,当客户在 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' );
    }

    此代码是官方代码片段: Automatically Complete Orders .

    这是一个很好的例子,向您展示了事情是如何运作的......所以在你的情况下,你在这里使用 WC_Order class方法如 update_status() .

    现在,使用此代码库,您可以优化此答案中的行为:
    WooCommerce: Auto complete paid Orders (depending on Payment methods)

    相关订单: How to get WooCommerce order details

    关于php - 在自定义 php 文件中使用 Woocommerce 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47973325/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com