Remind users of the plug-ins required by the current theme
Many themes require the support of some plug-ins. At this time, you need to remind users of the plug-ins that need to be installed. This article will teach you how to remind users of the plug-ins that need to be installed for the current theme in a conspicuous position in the background.
The final effect is similar to the picture below:
Just use the admin_notices hook to output a warning box under the background title, and then use the is_plugin_active() function to determine whether the plug-in is enabled.
/** *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' );
Hide some plugins in the plugin list
When developing a WordPress website for a customer, the customer is usually given an administrator account, so the customer is fully capable of modifying the website’s themes, plug-ins, users and some key settings.
But sometimes users will accidentally make some misoperations, such as deactivating necessary plug-ins. In this case, we can hide some plug-ins in the plug-in list, but in fact the plug-ins are still running normally. .
The code below hides the WP Crontrol and User Switching plug-ins in the plug-in list. You can still see the plug-in when the plug-in is disabled. The plug-in will be hidden from the list only when the plug-in is enabled.
/** *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' );