【问题标题】:Plugin classes not found未找到插件类
【发布时间】:2019-11-23 16:40:46
【问题描述】:

一切正常,我可以在本地 wamp 服务器中激活我的插件,但是当我尝试在网站上上传并激活我的插件时,我收到了一个致命错误,提示找不到类。

我尝试在我的网站上使用 ssh 运行 composer init 和 composer install 但无法正常工作

这是我的主要插件 PHP 文件:

    if( file_exists( dirname(__FILE__) . '/vendor/autoload.php'))
        require_once plugin_dir_path(__FILE__) . '/vendor/autoload.php';


function activate_aa_test()
{
    Inc\Base\Activate::activate();
}
function deactivate_aa_test()
{
    Inc\Base\Deactivate::deactivate();
}

register_activation_hook(__FILE__, 'activate_aa_test');
register_deactivation_hook(__FILE__, 'deactivate_aa_test');

这是 composer.json

    "name": "vahid/aa-test",
    "description": "test",
    "type": "project",
    "license": "GPL",
    "authors": [
        {
            "name": "Vahid",
            "email": "test@test.com"
        }
    ],
    "minimum-stability": "dev",
    "require": {},
    "autoload": {
        "psr-4": {"Inc\\": "./inc"}
    }
}

这些是 WordPress 错误:

Fatal error: Uncaught Error:
Class 'Inc\Base\Activate' not found in /home/vahidsapp/public_html/wp-content/plugins/aa-test/aa-test.php:34 
Stack trace: #0 /home/vahidsapp/public_html/wp-includes/class-wp-hook.php(286): activate_aa_test('') 
#1 /home/vahidsapp/public_html/wp-includes/class-wp-hook.php(310): WP_Hook->apply_filters('', Array) 
#2 /home/vahidsapp/public_html/wp-includes/plugin.php(465): WP_Hook->do_action(Array) 
#3 /home/vahidsapp/public_html/wp-admin/plugins.php(177): do_action('activate_aa-tes...') 
#4 {main} thrown in /home/vahidsapp/public_html/wp-content/plugins/aa-test/aa-test.php on line 34

【问题讨论】:

  • 尝试composer dump-autoload并再次检查。
  • 已经试过了,不行。
  • 我发现如果我将激活和停用类从 inc/base 移动到 inc 并将命名空间从 namespace Inc\Base; 更改为 namespace Inc; 我可以激活/停用插件,但在我的主要plugin 我设法为每个部分创建了单独的文件夹,但我无法将所有内容移至 inc 的根目录!

标签: wordpress composer-php


【解决方案1】:

我发现了问题, 我必须将类映射添加到 composer.json:

"require": {},
    "config": {
        "optimize-autoloader": true
    },
    "autoload": {
        "psr-4": {"Inc\\": "./inc"},
        "classmap": ["inc/"]
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-22
    • 2018-07-23
    • 2020-05-03
    • 2018-09-29
    • 2021-03-06
    • 2013-06-27
    • 1970-01-01
    相关资源
    最近更新 更多