WordPress讓插件隨主題一同啓用

     在編寫一個主題的時候,可能有些功能並不一定要在主題中實現,而是要藉助一些插件來實現。那麼我們如何做到在啓用主題的時候,同時啓用某個插件呢?

     我們可以在主題的functions.php中添加以下代碼(這裏以akismet爲例):

include_once( ABSPATH . 'wp-admin/includes/plugin.php' );

// 判斷插件是否已經啓用
if (is_admin() && current_user_can('activate_plugins')
  && !is_plugin_active(ABSPATH . 'wp-content/plugins/akismet/akismet.php')) {
  // 啓用插件
  activate_plugin(ABSPATH . 'wp-content/plugins/akismet/akismet.php');
}

     首先我們需要include一下plugin.php,因爲我們用到的兩個函數is_plugin_active()和activate_plugin()都是在plugin.php中定義的,而主題文件不會自動引用這個文件。

     接着我們需要判斷當前頁面是否是後臺,同時爲了安全考慮,我們需要用current_user_can()判斷當前用戶是否有啓用主題的權限。最後,判斷插件是否已啓用,這裏使用插件主文件的路徑,何爲插件主文件呢?這個文件在插件目錄下,一般與插件同名,用文本編輯器打開,一般會看到類似註釋:

/*
Plugin Name: **
Plugin URI: **
Description: **
Version: **
Author: **
*/

需要提醒的是,主題發佈記得附帶插件或叮囑用戶下載好插件。

參考文章:
Function Reference/is plugin active


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章