如何在WordPress主题中集成插件

时间:2015-04-02 作者:tomloprod

我读到有两种方法可以在Wordpress主题上集成插件。

我认为第一种方法是最好的;但我不知道怎么做。。。

After copying the plugin to the plugin directory of Wordpress... How do I enable it? Do you know another way to do this?

然后我揭露我所做的事,好让你们证明我的想法是否正确:


第一种方法:将我的插件复制到wp内容/插件activate_plugin 安装它

function recurse_copy($src,$dst) { 
    $dir = opendir($src); 
    @mkdir($dst); 
    while(false !== ( $file = readdir($dir)) ) { 
        if (( $file != \'.\' ) && ( $file != \'..\' )) { 
            if ( is_dir($src . \'/\' . $file) ) { 
                recurse_copy($src . \'/\' . $file,$dst . \'/\' . $file); 
            } else { 
                copy($src . \'/\' . $file,$dst . \'/\' . $file); 
            } 
        } 
    } 
    closedir($dir); 
}

// I copy my plugin to wp-content/plugins
recurse_copy($path."/plugins/myplugin_Directory", WP_PLUGIN_DIR . "/myplugin_Directory");
第二种方法:使用我的插件代替wp内容插件中的插件路径)更改为主题目录中资源的所有依赖项Example for the second method: (把这个放进去functions.php

add_action(\'after_setup_theme\', \'load_MyPlugin\');
function load_MyPlugin() { 
    if (!class_exists(\'MyPluginClass\')) {
        include_once(get_template_directory_uri() . \'/plugins/myplugin_Directory/index.php\');
    }
}

  

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

这取决于插件的功能,你的主题是否依赖它,以及它是否是你自己的插件。

例如,当它是一个插件,可以添加带有特殊主题页面和内容(如事件或公文包)的自定义帖子类型时,应该使用第二种方法将其集成到主题中。

另一方面,如果它是来自外部开发人员的插件(如滑块或其他),那么您应该让用户在/wp-content/plugins 文件夹(或将其复制到插件文件夹)。这里的一个很好的帮助是TGM Plugin Activation, 现在有很多主题都在使用它。它推荐你的主题所依赖的插件,甚至可以自动安装和激活它们。它可以从WP存储库或包含的文件夹中安装它们。将文件压缩到主题中的某个位置(例如高级插件)。

结束

相关推荐

在加载plugins_后,get_plugins()不工作

知道为什么下面的代码function my_plugin_load() { get_plugins(); } add_action( \'plugins_loaded\', \'my_plugin_load\' ); 抛出此错误?Fatal error: 不应调用未定义的函数get\\u plugins()get_plugins() 定义在plugins_loaded 胡克开火了?如果不是,那么什么才是合适的钩子呢?(这个钩子应该启动插件的引导/加载过程)