将MAX MEGA菜单插件包含到主题中

时间:2016-08-31 作者:shamim khan

我想添加Max Mega Menu 插件到我的项目主题中。

我所做的:

将插件文件夹复制并粘贴到我的主题中megamenu.php 文件到我的主题中function.php 工作所需的文件:

当主题处于活动状态时,如何将此插件包含在主题中并在主题处于活动状态时将其激活?

2 个回复
最合适的回答,由SO网友:Tom Hemsley 整理而成

如果你直接在一个主题中包含一个插件,那么它将被两个WordPress拒绝。组织主题目录和主题文件夹。

您应该使用TGMPA包含具有以下主题的插件:http://tgmpluginactivation.com/

进一步阅读:http://code.tutsplus.com/tutorials/using-the-tgm-plugin-activation-library-in-your-themes--cms-20901

使用TGMPA意味着插件仍然是一个插件,WordPress以正常的“插件”方式加载它,用户将在发布时获得插件更新。

SO网友:cjbj

您不能简单地通过从functions.php. 原因是,如果用户已经安装了相同的插件,这将导致致命错误。

此外,您不应该将插件的一部分移动到您的主题,因为您不知道插件在内部是如何工作的。它可能正在查找不存在的文件并抛出错误。

因此,正确的方法是将完整的插件放在主题的子目录中,并在检查是否尚未加载后调用它。这可以通过检查插件中是否存在已知可用的特定函数或类来实现。示例代码:

add_action(\'after_setup_theme\', \'wpse237683_load_plugin\');

function wpse237683_load_plugin() {
    if (!class_exists(\'wpse237683\')) {
        include_once (get_template_directory() . \'plugins/wpse237683/wpse237683.php\');
        }
    }
仍然存在各种陷阱。您可以尝试自己解决这些问题或使用PHP library like TGMPA 这将为您解决此问题。

相关推荐

如何使用api.wordpress.org从wordpress.org/Themes中获取主题信息?

我正试图从WordPress中获取一些主题描述的html代码,我知道这在codecanyon中是可以实现的,但在WordPress中却无法实现。org,我已经阅读了api。wordpress。组织主题和插件部分的文档https://codex.wordpress.org/WordPress.org_API 并且能够通过插件实现这一点https://api.wordpress.org/plugins/info/1.0/{slug}.json, 但主题并不那么明确。有人能帮帮我吗?