详解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 相关文章推荐
自动分页的不完整解决方案
Jan 12 PHP
Mysql的GROUP_CONCAT()函数使用方法
Mar 28 PHP
php中json_encode中文编码问题分析
Sep 13 PHP
php数组函数序列之array_flip() 将数组键名与值对调
Nov 07 PHP
php curl基本操作详解
Jul 23 PHP
php实现的一个很好用HTML解析器类可用于采集数据
Sep 23 PHP
easyui的tabs update正确用法分享
Mar 21 PHP
php两种无限分类方法实例
Apr 21 PHP
PHP+Apache+Mysql环境搭建教程
Aug 01 PHP
PHP 等比例缩放图片详解及实例代码
Sep 18 PHP
php 删除指定文件夹的实例讲解
Jul 25 PHP
PHP实现长轮询消息实时推送功能代码实例讲解
Feb 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
php 阴历-农历-转换类代码
2012/01/16 PHP
PHP开发微信支付的代码分享
2014/05/25 PHP
PHP中读取文件的8种方法和代码实例
2014/08/05 PHP
PHP中的Streams详细介绍
2014/11/12 PHP
php进行支付宝开发中return_url和notify_url的区别分析
2014/12/22 PHP
解决ThinkPHP下使用上传插件Uploadify浏览器firefox报302错误的方法
2015/12/18 PHP
php中错误处理操作实例分析
2019/08/23 PHP
Yii框架小部件(Widgets)用法实例详解
2020/05/15 PHP
javascript 多级checkbox选择效果
2009/08/20 Javascript
jQuery 打造动态渐变按钮 详细图文教程
2010/04/25 Javascript
基于jquery的表格排序
2010/09/11 Javascript
js 浏览器事件介绍
2012/03/30 Javascript
JavaScript取得鼠标绝对位置程序代码介绍
2012/09/16 Javascript
IE下写xml文件的两种方式(fso/saveAs)
2013/08/05 Javascript
使用JavaScript获取地址栏参数的方法
2014/12/19 Javascript
使用JavaScript进行表单校验功能
2017/08/01 Javascript
微信小程序滚动Tab实现左右可滑动切换
2017/08/17 Javascript
解决低版本的浏览器不支持es6的import问题
2018/03/09 Javascript
基于jQuery.i18n实现web前端的国际化
2018/05/04 jQuery
Vue项目查看当前使用的elementUI版本的方法
2018/09/27 Javascript
浅析JavaScript异步代码优化
2019/03/18 Javascript
vue 解决遍历对象显示的顺序不对问题
2019/11/07 Javascript
Vue列表如何实现滚动到指定位置样式改变效果
2020/05/09 Javascript
VSCode插件安装完成后的配置(常用配置)
2020/08/24 Javascript
微信小程序绘制半圆(弧形)进度条
2020/11/18 Javascript
python处理cookie详解
2014/02/07 Python
分享一个常用的Python模拟登陆类
2015/03/29 Python
Python中for循环和while循环的基本使用方法
2015/08/21 Python
解决Python获取字典dict中不存在的值时出错问题
2018/10/17 Python
numpy.linalg.eig() 计算矩阵特征向量方式
2019/11/29 Python
python ftplib模块使用代码实例
2019/12/31 Python
Laura Geller官网:美国彩妆品牌
2018/12/29 全球购物
意大利在线药房:Farmacia Loreto Gallo
2019/08/09 全球购物
投标承诺函范文
2015/01/21 职场文书
2015社区六五普法工作总结
2015/04/21 职场文书
学校勤俭节约倡议书
2015/04/29 职场文书