详解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 相关文章推荐
解析PHP中的unset究竟会不会释放内存
Jul 18 PHP
迅速确定php多维数组的深度的方法
Jan 07 PHP
PHP自动重命名文件实现方法
Nov 04 PHP
PHP中__FILE__、dirname与basename用法实例分析
Dec 01 PHP
Linux系统下使用XHProf和XHGui分析PHP运行性能
Dec 08 PHP
php读取torrent种子文件内容的方法(测试可用)
May 03 PHP
golang与php实现计算两个经纬度之间距离的方法
Jul 22 PHP
php+mongodb判断坐标是否在指定多边形区域内的实例
Oct 28 PHP
thinkPHP实现的省市区三级联动功能示例
May 05 PHP
laravel实现批量更新多条记录的方法示例
Oct 22 PHP
PHP实现求连续子数组最大和问题2种解决方法
Dec 26 PHP
php简单检测404页面的方法示例
Aug 23 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
用Flash图形化数据(一)
2006/10/09 PHP
杏林同学录(五)
2006/10/09 PHP
php常见的魔术方法详解
2014/12/25 PHP
PHP callback函数使用方法和注意事项
2015/01/23 PHP
Win7环境下Apache连接MySQL提示连接已重置的解决办法
2017/05/09 PHP
PHP通过get方法获得form表单数据方法总结
2018/09/12 PHP
JavaScript Undefined,Null类型和NaN值区别
2008/10/22 Javascript
extJs 常用到的增,删,改,查操作代码
2009/12/28 Javascript
JS实现超炫网页烟花动画效果的方法
2015/03/02 Javascript
js获取字符串字节数方法小结
2015/06/09 Javascript
BootStrap中Datetimepicker和uploadify插件应用实例小结
2016/05/26 Javascript
javascript 判断页面访问方式电脑或者移动端
2016/09/19 Javascript
使用MUI框架模拟手机端的下拉刷新和上拉加载功能
2017/09/04 Javascript
jquery获取transform里的值实现方法
2017/12/12 jQuery
快速解决vue在ios端下点击响应延时的问题
2018/08/27 Javascript
JS实现的贪吃蛇游戏案例详解
2019/05/01 Javascript
详解微信小程序开发聊天室—实时聊天,支持图片预览
2019/05/20 Javascript
Vue.js递归组件实现组织架构树和选人功能
2019/07/04 Javascript
ES6中Set和Map用法实例详解
2020/03/02 Javascript
vue中实现弹出层动画效果的示例代码
2020/09/25 Javascript
朴素贝叶斯算法的python实现方法
2014/11/18 Python
同时安装Python2 &amp; Python3 cmd下版本自由选择的方法
2017/12/09 Python
使用urllib库的urlretrieve()方法下载网络文件到本地的方法
2018/12/19 Python
用Python逐行分析文件方法
2019/01/28 Python
解决django同步数据库的时候app models表没有成功创建的问题
2019/08/09 Python
Django框架模板用法入门教程
2019/11/04 Python
python ssh 执行shell命令的示例
2020/09/29 Python
canvas实现按住鼠标移动绘制出轨迹的示例代码
2018/02/05 HTML / CSS
详解canvas绘图时遇到的跨域问题
2018/03/22 HTML / CSS
h5移动端调用支付宝、微信支付的实现
2020/06/08 HTML / CSS
Kaufmann Mercantile官网:家居装饰、配件、户外及更多
2018/09/28 全球购物
实习生个人找工作的自我评价
2013/10/30 职场文书
应届电子商务毕业自荐书范文
2014/02/11 职场文书
优秀本科生求职推荐信
2014/02/24 职场文书
入党介绍人评语
2014/05/06 职场文书
求职信内容一般写什么?
2015/03/20 职场文书