详解WordPress中提醒安装插件以及隐藏插件的功能实现

 更新时间:2015年12月25日 15:08:01   作者:斌果  
这篇文章主要介绍了WordPress中提醒安装插件以及隐藏插件的功能实现,这两种功能通常在多用户模式下进行管理时用得比较多,需要的朋友可以参考下

提醒用户当前主题需要的插件
很多主题都需要一些插件的支持,这时你就需要提醒用户需要安装的插件,本文将教你,怎么在后台显眼的位置提醒用户当前主题要安装的插件。

最终的效果类似下图:

20151225150448456.png (669×279)

只需要用 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' );

相关文章

  • thinkphp调用sqlserver储存过程返回多个结果集

    thinkphp调用sqlserver储存过程返回多个结果集

    这篇文章主要介绍了thinkphp调用sqlserver储存过程返回多个结果集,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • php微信公众号开发(4)php实现自定义关键字回复

    php微信公众号开发(4)php实现自定义关键字回复

    这篇文章主要介绍了php微信公众号开发第四课,php实现简单微信文本通讯,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • CodeIgniter中实现泛域名解析

    CodeIgniter中实现泛域名解析

    这篇文章主要介绍了CodeIgniter中实现泛域名解析的方法,需要的朋友可以参考下
    2014-07-07
  • thinkphp5框架实现的自定义扩展类操作示例

    thinkphp5框架实现的自定义扩展类操作示例

    这篇文章主要介绍了thinkphp5框架实现的自定义扩展类操作,结合实例形式简单分析了thinkPHP5在extend目录下建立自定义扩展类的具体操作步骤与相关实现技巧,需要的朋友可以参考下
    2019-05-05
  • laravel学习笔记之模型事件的几种用法示例

    laravel学习笔记之模型事件的几种用法示例

    这篇文章主要给大家介绍了关于laravel学习笔记之模型事件用法的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用laravel具有一定的参考学习价值,需要的朋友可以参考借鉴,下面来跟着小编一起学习学习吧。
    2017-08-08
  • thinkPHP利用ajax异步上传图片并显示、删除的示例

    thinkPHP利用ajax异步上传图片并显示、删除的示例

    这篇文章主要介绍了thinkPHP利用ajax异步上传图片并显示、删除的示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • session 加入redis的实现代码

    session 加入redis的实现代码

    本篇文章主要介绍了session 加入redis 的实例,对session 进行了详细介绍,并提供了代码实例,需要的朋友可以参考下
    2016-07-07
  • thinkphp特殊标签用法概述

    thinkphp特殊标签用法概述

    这篇文章主要介绍了thinkphp特殊标签用法,实例分析了in、between、present、Empty等标签的用法,具有一定的参考借鉴价值,需要的朋友可以参考下
    2014-11-11
  • 基于PHP+mysql实现新闻发布系统的开发

    基于PHP+mysql实现新闻发布系统的开发

    这篇文章主要介绍了基于PHP+mysql实现新闻发布系统的开发,文章通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下 面随着小编来一起学习学习吧
    2020-08-08
  • Win7环境下Apache连接MySQL提示连接已重置的解决办法

    Win7环境下Apache连接MySQL提示连接已重置的解决办法

    这篇文章主要为大家详细介绍了Win7环境下Apache连接MySQL提示“连接已重置”的解决办法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05

最新评论