作为WordPress主题开发者,如果你的主题的某些功能需要借助某些插件才能实现,那你需要提醒主题使用者安装这些插件。
最合理的提醒方法,就是启用主题后,在后台顶部提醒安装,如下图所示:
在 如何在WordPress后台顶部添加错误提醒信息或升级提醒信息 中已经介绍了通过 admin_notices 挂钩 显示提醒信息的方法,
那么接我们只需要借助 is_plugin_active() 函数来检测所需的插件是否已安装并启用,如果没有安装就进行提醒。
is_plugin_active() 函数简介
is_plugin_active() 函数是专门用来检测插件是否已经安装并启用的,使用的方法很简单,只需要添加对应的插件的主文件路径即可:
if(!is_plugin_active( 'wordpress-popular-posts/wordpress-popular-posts.php' )) { echo '需要显示的内容'; }
上面的代码的作用就是:如果没有启用 WordPress Popular Posts,就显示一段提醒文字。
‘wordpress-popular-posts/wordpress-popular-posts.php’ 就是 WordPress Popular Posts 插件的主文件的路径。
提示安装必要插件
只需要在主题的 functions.php 中添加类似代码,就可以达到本文配图的效果:
add_action('admin_notices', 'showAdminMessages'); function showAdminMessages() { $plugin_messages = array(); include_once( ABSPATH . 'wp-admin/includes/plugin.php' ); // Download the Yoast WordPress SEO plugin if(!is_plugin_active( 'wordpress-seo/wp-seo.php' )) { $plugin_messages[] = 'This theme requires you to install the Yoast WordPress SEO plugin, <a href="https://wordpress.org/extend/plugins/wordpress-seo/">download it from here</a>.'; } // Download the Disqus comment system if(!is_plugin_active( 'disqus-comment-system/disqus.php' )) { $plugin_messages[] = 'This theme requires you to install the Disqus comment system plugin, <a href="https://wordpress.org/extend/plugins/disqus-comment-system/">download it from here</a>.'; } // Download the WordPress popular posts plugin if(!is_plugin_active( 'wordpress-popular-posts/wordpress-popular-posts.php' )) { $plugin_messages[] = 'This theme requires you to install the WordPress Popular Post plugin, <a href="https://wordpress.org/extend/plugins/wordpress-popular-posts/">download it from here</a>.'; } if(count($plugin_messages) > 0) { echo '<div id="message" class="error">'; foreach($plugin_messages as $message) { echo '<strong>'.$message.'</strong><br>'; } echo '</div>'; } }
比方
add_action('admin_notices', 'showAdminMessages'); function showAdminMessages() { $plugin_messages = array(); include_once( ABSPATH . 'wp-admin/includes/plugin.php' ); // Download the Contact Form 7 if(!is_plugin_active( 'contact-form-7/wp-contact-form-7.php' )) { $plugin_messages[] = 'This theme requires you to install the Contact Form 7 plugin, <a href="https://wordpress.org/plugins/contact-form-7/">download it from here</a>.'; } // Download the Easy WP SMTP if(!is_plugin_active( 'easy-wp-smtp/easy-wp-smtp.php' )) { $plugin_messages[] = 'This theme requires you to install the Easy WP SMTP plugin, <a href="https://wordpress.org/plugins/easy-wp-smtp/">download it from here</a>.'; } // Download the WordPress Download Classic Editor plugin if(!is_plugin_active( 'classic-editor/classic-editor.php' )) { $plugin_messages[] = 'This theme requires you to install the WordPress Classic Editor plugin, <a href="https://wordpress.org/plugins/classic-editor/">download it from here</a>.'; } if(count($plugin_messages) > 0) { echo '<div id="message" class="error">'; foreach($plugin_messages as $message) { echo '<strong>'.$message.'</strong><br>'; } echo '</div>'; } }