详解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 相关文章推荐
使用php4加速网络传输
Oct 09 PHP
PHP中获取时间的下一周下个月的方法
Mar 18 PHP
PHP处理Oracle的CLOB实例
Nov 03 PHP
PHP缓存集成库phpFastCache用法
Dec 15 PHP
php+mysqli实现批量替换数据库表前缀的方法
Dec 29 PHP
Thinkphp中的curd应用实用要点
Jan 04 PHP
PHP获取POST数据的几种方法汇总
Mar 03 PHP
PHP+JS三级菜单联动菜单实现方法
Feb 24 PHP
php基于curl主动推送最新内容给百度收录的方法
Oct 14 PHP
php中__toString()方法用法示例
Dec 07 PHP
PHP简单实现模拟登陆功能示例
Sep 15 PHP
thinkPHP框架实现类似java过滤器的简单方法示例
Sep 05 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
用php制作简单分页(从数据库读取记录)的方法详解
2013/05/04 PHP
PHP使用缓存即时输出内容(output buffering)的方法
2015/08/03 PHP
举例讲解PHP面对对象编程的多态
2015/08/12 PHP
PHP实现电商订单自动确认收货redis队列
2017/05/17 PHP
PHP树形结构tree类用法示例
2019/02/01 PHP
jquery控制listbox中项的移动并排序的实现代码
2010/09/28 Javascript
js有关元素内容操作小结
2011/12/20 Javascript
Js注册协议倒计时的小例子
2013/06/24 Javascript
js冒泡法和数组转换成字符串示例代码
2013/08/14 Javascript
nodejs 提示‘xxx’ 不是内部或外部命令解决方法
2014/11/20 NodeJs
jQuery实现自动调整字体大小的方法
2015/06/15 Javascript
基于jQuery实现的无刷新表格分页实例
2016/02/17 Javascript
JS上传图片预览插件制作(兼容到IE6)
2016/08/07 Javascript
正则验证小数点后面只能有两位数的方法
2017/02/28 Javascript
node.js中http模块和url模块的简单介绍
2017/10/06 Javascript
vue双花括号的使用方法 附练习题
2017/11/07 Javascript
浅谈vue中改elementUI默认样式引发的static与assets的区别
2018/02/03 Javascript
vue返回上一页面时回到原先滚动的位置的方法
2018/12/20 Javascript
小程序实现分类页
2019/07/12 Javascript
layui自定义验证,用ajax查询后台是否有重复数据,form.verify的例子
2019/09/06 Javascript
使用vue实现HTML页面生成图片的方法
2020/03/12 Javascript
javascript局部自定义鼠标右键菜单
2020/12/08 Javascript
[58:46]OG vs NAVI 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
python海龟绘图实例教程
2014/07/24 Python
python服务器端收发请求的实现代码
2014/09/29 Python
Ruby使用eventmachine为HTTP服务器添加文件下载功能
2016/04/20 Python
遍历python字典几种方法总结(推荐)
2016/09/11 Python
python实现人脸识别代码
2017/11/08 Python
Python实现按照指定要求逆序输出一个数字的方法
2018/04/19 Python
python cumsum函数的具体使用
2019/07/29 Python
Python实现遗传算法(二进制编码)求函数最优值方式
2020/02/11 Python
改变 Python 中线程执行顺序的方法
2020/09/24 Python
求职简历的自我评价怎样写好
2013/10/07 职场文书
机械电子工程专业推荐信范文
2013/11/20 职场文书
老总助理工作岗位职责
2014/02/06 职场文书
物业公司的岗位任命书
2014/06/06 职场文书