我们可以在主题的functions.php中添加以下代码(这里以akismet为例):
include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
// 判断插件是否已经启用
if (!is_plugin_active(ABSPATH . 'wp-content/plugins/akismet/akismet.php')
&& current_user_can('activate_plugins')) {
// 启用插件
activate_plugin(ABSPATH . 'wp-content/plugins/akismet/akismet.php');
}
首先我们需要include一下plugin.php,因为我们用到的两个函数is_plugin_active()和activate_plugin()都是在plugin.php中定义的,而主题文件不会自动引用这个文件。
接着我们需要判断一下插件是否已经插件,这里使用插件主文件的路径,何为插件主文件呢?这个文件在插件目录下,一般与插件同名,用文本编辑器打开,一般会看到类似注释:
/*
Plugin Name: **
Plugin URI: **
Description: **
Version: **
Author: **
*/
同时为了安全考虑,我们需要用current_user_can()判断当前用户是否有启用主题的权限。最后使用activate_plugin来启用插件。