如何在 PHP 中正确使用 WooCommerce 订阅 API?

xen*_*ndi 5 php wordpress subscription woocommerce woocommerce-subscriptions

文档非常稀缺。我正在尝试创建一些使用 WooCommerce 订阅(WooCommerce 插件)API 的代码来获取订阅列表以及每个订阅的所有详细信息。那里的文档和示例是如此稀缺和薄弱,我无法正确理解。以下代码没有产生任何错误,但没有输出任何订阅(只是一个空白页)。如何列出所有订阅的所有详细信息?

<?php

if(isset($_REQUEST['Action']))
{
    $Action = $_REQUEST['Action'];
    switch($Action)
    {
        case "ValidateSubscription":
            chdir("../wp-content/plugins/woocommerce-subscriptions/classes");
            include '../../woocommerce/woocommerce.php';
            //include '../woo-includes/woo-functions.php';
            //include '../woo-includes/class-wc-dependencies.php';
            include 'class-wc-subscriptions-manager.php';

            $Subscriptions = WC_Subscriptions_Manager::get_all_users_subscriptions();
            print_r($Subscriptions);
            break;
        default:
            echo "invalid action";
    }
}else
{
    echo "no action specified";
}
Run Code Online (Sandbox Code Playgroud)

Chu*_*Mac 4

这不是在外部代码中包含 WordPress 函数的方式。尝试这个。

if(isset($_REQUEST['Action']))
{
    $Action = $_REQUEST['Action'];
    switch($Action)
    {
        case "ValidateSubscription":

            include('../wp-load.php'); //Guessing this path based on your code sample... should be wp root

            $Subscriptions = WC_Subscriptions_Manager::get_all_users_subscriptions();
            print_r($Subscriptions);
            break;
        default:
            echo "invalid action";
    }
}else
{
    echo "no action specified";
}
Run Code Online (Sandbox Code Playgroud)