提醒用戶當前主題需要的插件
很多主題都需要一些插件的支持,這時你就需要提醒用戶需要安裝的插件,本文將教你,怎麼在後台顯眼的位置提醒用戶當前主題要安裝的插件。
最終的效果類似下圖:
只需要用 admin_notices 鉤子,在後台標題下邊輸出一個警告框,再用 is_plugin_active() 函數判斷插件是否啟用即可。
/** *WordPress 提醒用戶當前主題需要的插件 *http://www.endskin.com/plugins-messages/ */ function Bing_plugins_messages(){ $plugin_messages = array(); include_once( ABSPATH . 'wp-admin/includes/plugin.php' ); //必須安裝 WordPress SEO 插件 if( !is_plugin_active( 'wordpress-seo/-seo.php' ) ) $plugin_messages[] = '當前主題要求必須安裝並啟用 WordPress SEO 插件,<a href="http://wordpress.org/plugins/wordpress-seo/" target="_blank">點擊下載此插件</a>'; //必須安裝 Simple URLs 插件 if( !is_plugin_active( 'simple-urls/plugin.php' ) ) $plugin_messages[] = '當前主題要求必須安裝並啟用 Simple URLs 插件,<a href="http://wordpress.org/plugins/simple-urls/" target="_blank">點擊下載此插件</a>'; //必須安裝 Bing Phone 插件 if( !is_plugin_active( 'Bing-Phone/Bing-Phone.php' ) ) $plugin_messages[] = '當前主題要求必須安裝並啟用 Bing-Phone 插件,<a href="http://www.bgbk.org/wp-theme-bing-phone.html" target="_blank">點擊下載此插件</a>'; if( count( $plugin_messages ) > 0 ){ echo '<div id="message" class="error">'; foreach( $plugin_messages as $message ) echo '<p><strong>' . $message . '</strong></p>'; echo '</div>'; } } add_action( 'admin_notices', 'Bing_plugins_messages' );
在插件列表隱藏某些插件
在給客戶開發 WordPress 網站的時候,通常都會給客戶一個管理員賬戶,所以客戶完全有能力修改網站的主題、插件、用戶和一些關鍵設置。
但有些時候用戶會不小心做出一些誤操作,比如停用了必須的插件,針對這種情況,我們可以把某些插件在插件列表中隱藏,而實際上插件還是在正常運行的。
下邊的代碼在插件列表隱藏了 WP Crontrol 和 User Switching 兩個插件,在插件停用的時候依然可以看到插件,只有插件啟用時插件才會被從列表中隱藏。
/** *WordPress 在插件列表隱藏某些插件 *http://www.endskin.com/hide-plugins/ */ function Bing_hide_plugins( $plugins ){ //隱藏 WP Crontrol 插件 $plugin = 'wp-crontrol/wp-crontrol.php'; if( is_plugin_active( $plugin ) ) unset( $plugins[$plugin] ); //隱藏 User Switching 插件 $plugin = 'user-switching/user-switching.php'; if( is_plugin_active( $plugin ) ) unset( $plugins[$plugin] ); return $plugins; } add_filter( 'all_plugins', 'Bing_hide_plugins' );