WordPress插件:找不到作曲家类



我正在开发一个wordpress插件,我的插件目录内的作曲家在根级别。我已经安装了我想使用的所有软件包,然后在自动加载软件包后,在插件文件顶部的每个名称空间中加载PHP use命令。

PHP错误

[28-Jun-2017 10:09:37 UTC] PHP Fatal error:  Class 'DrewMMailChimpMailChimp' not found in /home/xxx/public_html/wp-content/plugins/plugin-name/plugin-name.php on line 44

插件文件结构

/plugin-name
 '- vendor/
 '- .gitignore
 '- composer.json
 '- plugin-name.php

composer.json目录

{
    "require": {
        "guzzlehttp/guzzle": "^6.3",
        "theiconic/php-ga-measurement-protocol": "^2.0",
        "mailgun/mailgun-php": "~2.3.4",
        "stripe/stripe-php": "^4.13.0",
        "mailchimp/mailchimp": "^2.0",
        "drewm/mailchimp-api": "^2.4"
    }
}

plugin-name.php contents

<?php
/*
Plugin Name: Plugin name
[...]
*/
require 'vendor/autoload.php';
use TheIconicTrackingGoogleAnalyticsAnalytics;
use MailgunMailgun;
use StripeStripe;
use DrewMMailChimpMailChimp;

已解决:在plugin-name.php中,我需要更改

require 'vendor/autoload.php';

to

require plugin_dir_path(__FILE__).'vendor/autoload.php';

因为当前的工作目录始终是WordPress安装的根源,而不是我的插件目录中的目录。

我没有在require行上遇到错误的原因是因为我在安装根部有另一个类似的vendor目录。

相关内容

  • 没有找到相关文章

最新更新