由于错误,XXX插件已停用:该插件没有有效的标头

时间:2020-02-20 作者:JMB


我构建了一个应用程序,其中包括多个WP站点的插件

复制插件文件夹(&M);将“主”应用程序中的文件放入新创建的wp站点的wp content/plugins文件夹中,只需使用简单的wp\\U选项:
-文件夹副本;文件运行正常,文件夹chmod为0755&;0644文件,模仿标准akismet插件安装

序列化插件数据(&L);用它更新“active\\u plugins”字段,序列化的数据格式良好:{br/>s:14:“classic editor”;i:1;s:17:“increase\\u rest\\u get”;i:2;s:34:“wp rest api的jwt身份验证”;i:3;s:17:“myDashboardWidget”;}

array (
0 => \'classic-editor\',
1 => \'increase_rest_get\',  
2 => \'jwt-authentication-for-wp-rest-api\',  
3 => \'myDashboardWidget\',
)
但是,当我去管理员那里时,我得到以下信息,所有激活的插件都被停用:
enter image description here<为什么会这样?我在激活/复制过程中是否遗漏了什么
非常感谢,
吉咪

1 个回复
最合适的回答,由SO网友:Jacob Peattie 整理而成

这个active_plugins 数据不正确。以下是我的一个测试站点的样本:

a:3:{i:0;s:34:"advanced-custom-fields-pro/acf.php";i:4;s:31:"code-snippets/code-snippets.php";i:21;s:24:"wordpress-seo/wp-seo.php";}
或:

Array
(
    [0] => advanced-custom-fields-pro/acf.php
    [4] => code-snippets/code-snippets.php
    [21] => wordpress-seo/wp-seo.php
)
请注意,插件由主插件文件的路径(相对于插件文件夹)引用。主插件文件夹包含插件头(示例来自here):

/**
 * Plugin Name:       My Basics Plugin
 * Plugin URI:        https://example.com/plugins/the-basics/
 * Description:       Handle the basics with this plugin.
 * Version:           1.10.3
 * Requires at least: 5.2
 * Requires PHP:      7.2
 * Author:            John Smith
 * Author URI:        https://author.example.com/
 * License:           GPL v2 or later
 * License URI:       https://www.gnu.org/licenses/gpl-2.0.html
 * Text Domain:       my-basics-plugin
 * Domain Path:       /languages
 */
/wp-content/plugins/classic-editor 是一个目录,而不是文件,它没有插件头,因此会被停用。

相关推荐

Testing Plugins for Multisite

我最近发布了一个WordPress插件,它在单个站点上非常有效。我被告知该插件在多站点安装上不能正常工作,我理解其中的一些原因。我已经更新了代码,现在需要一种方法来测试更新后的代码,然后才能转到实时客户的多站点安装。我有一个用于测试的WordPress安装程序的单站点安装,但需要在多站点安装上进行测试。根据我所能找到的唯一方法是在网络上至少有两个站点来安装整个多站点安装,以测试我的插件。设置WordPress的整个多站点安装是插件开发人员的唯一/首选方式,还是有更快的测试环境可用。