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


Posted in PHP onDecember 25, 2015

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

最终的效果类似下图:

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

只需要用 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' );
PHP 相关文章推荐
Adodb的十个实例(清晰版)
Dec 31 PHP
PHP中创建图像并绘制文字的例子
Nov 19 PHP
PHP SESSION的增加、删除、修改、查看操作
Mar 20 PHP
php正则表达式学习笔记
Nov 13 PHP
Zend Framework创建自己的动作助手详解
Mar 05 PHP
PHP操作mysql数据库分表的方法
Jun 09 PHP
Laravel 5.3 学习笔记之 安装
Aug 28 PHP
php array_keys 返回数组的键名
Oct 25 PHP
php编程实现简单的网页版计算器功能示例
Apr 26 PHP
PHP中检查isset()和!empty()函数的必要性
Feb 13 PHP
php 使用ActiveMQ发送消息,与处理消息操作示例
Feb 23 PHP
PHP随机生成中文段落示例【测试网站内容时使用】
Apr 26 PHP
给WordPress的编辑后台添加提示框的代码实例分享
Dec 25 #PHP
smarty高级特性之对象的使用方法
Dec 25 #PHP
详解WordPress开发中过滤属性以及Sql语句的函数使用
Dec 25 #PHP
smarty高级特性之过滤器的使用方法
Dec 25 #PHP
WordPress中编写自定义存储字段的相关PHP函数解析
Dec 25 #PHP
PHP加密解密实例分析
Dec 25 #PHP
PHP时间类完整实例(非常实用)
Dec 25 #PHP
You might like
解决MySQL中文输出变成问号的问题
2008/06/05 PHP
php数组去重的函数代码
2013/02/03 PHP
php防注入及开发安全详细解析
2013/08/09 PHP
php实现的数字验证码及数字运算验证码
2015/07/30 PHP
如何在旧的PHP系统中使用PHP 5.3之后的库
2015/12/02 PHP
php微信开发之自定义菜单完整流程
2016/10/08 PHP
PHP不使用内置函数实现字符串转整型的方法示例
2017/07/03 PHP
js 取时间差去掉周六周日实现代码
2012/12/25 Javascript
getJSON调用后台json数据时函数被调用两次的原因猜想
2013/09/29 Javascript
js 本地预览的简单实现方法
2014/02/18 Javascript
javascript实现简单的html5视频播放器
2015/05/06 Javascript
js实现索引图片切换效果
2015/11/21 Javascript
JS实现全屏的四种写法
2016/12/30 Javascript
原生js实现回复评论功能
2017/01/18 Javascript
浅谈Emergence.js 检测元素可见性的 js 插件
2017/11/18 Javascript
vue.js分页中单击页码更换页面内容的方法(配合spring springmvc)
2018/02/10 Javascript
[51:26]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#3Secret VS OG第二局
2016/03/03 DOTA
用Python编写一个简单的FUSE文件系统的教程
2015/04/02 Python
用Python编写一个简单的Lisp解释器的教程
2015/04/03 Python
使用python实现接口的方法
2017/07/07 Python
Python实现Kmeans聚类算法
2020/06/10 Python
python3+PyQt5泛型委托详解
2018/04/24 Python
python使用tornado实现登录和登出
2018/07/28 Python
Python离线安装PIL 模块的方法
2019/01/08 Python
Python实现多线程下载脚本的示例代码
2020/04/03 Python
查看keras的默认backend实现方式
2020/06/19 Python
Python虚拟环境的创建和使用详解
2020/09/07 Python
雅诗兰黛香港官网:Estee Lauder香港
2017/09/26 全球购物
迪斯尼假期(欧洲、中东及非洲):Disney Holidays EMEA
2021/02/15 全球购物
工程班组长岗位职责
2013/12/30 职场文书
办公自动化毕业生求职信
2014/03/09 职场文书
寒暑假实习证明书模板
2014/11/29 职场文书
金正昆讲礼仪观后感
2015/06/11 职场文书
张丽莉事迹观后感
2015/06/16 职场文书
2015年学校消防安全工作总结
2015/10/14 职场文书
离职员工给领导和同事的感谢信
2015/11/03 职场文书