如何从使用composer自动加载的自定义插件中使用woocommerce类。

问题描述 投票:0回答:1

我在我的插件中使用了Composer自动加载,以方便管理所有的文件和类,而不是每次都写。require_once

然而,我在尝试访问本地woocommerce类时遇到了麻烦。我的类是用命名空间来定义的,比如说。

<?php
namespace Inc\Api;

class RestClientApi
{
....
}

如果我试图调用一个woocommerce类内的这个类,例如:。

<?php
namespace Inc\Api;

class RestClientApi
{

  public $example = new WC_product();

}

我得到的错误信息是 Class Inc/Api/WC_product not found 我知道这个错误的意思,但我不知道如何从我的自定义插件中使用Woocommerce类,考虑到我在我的自定义插件类中使用自动加载和命名空间。

更新按照要求,我添加了我的自动加载配置,这很简单,我只是调用我的inc文件夹。

"autoload": {
        "psr-4": {"Inc\\": "./inc"}
    }
wordpress woocommerce composer-php autoload
1个回答
0
投票

在你的插件composer.json中,添加这样的内容(你可以根据自己的需要调整它)。

    "autoload": {
        "psr-4": {
            "WooCommerceNamespace\\":"path/to/woocomerce/classes/folder"
        }
    },

然后运行

composer dump-autoload 

composer.json文件夹内。

然后添加到你的插件文件中:使用WooCommerceNamespace\WC,现在WC类应该可以使用了。

(如果你的WC.php文件已经有一个命名空间声明,请在你的psr-4声明中使用该命名空间)。

© www.soinside.com 2019 - 2024. All rights reserved.