我读到有两种方法可以在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\');
}
}
最合适的回答,由SO网友:redelschaap 整理而成
这取决于插件的功能,你的主题是否依赖它,以及它是否是你自己的插件。
例如,当它是一个插件,可以添加带有特殊主题页面和内容(如事件或公文包)的自定义帖子类型时,应该使用第二种方法将其集成到主题中。
另一方面,如果它是来自外部开发人员的插件(如滑块或其他),那么您应该让用户在/wp-content/plugins
文件夹(或将其复制到插件文件夹)。这里的一个很好的帮助是TGM Plugin Activation, 现在有很多主题都在使用它。它推荐你的主题所依赖的插件,甚至可以自动安装和激活它们。它可以从WP存储库或包含的文件夹中安装它们。将文件压缩到主题中的某个位置(例如高级插件)。