我們可以在主題的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來啟用插件。