详解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中使用临时表查询数据的一个例子
Feb 03 PHP
PHP 类相关函数的使用详解
May 10 PHP
解析获取优酷视频真实下载地址的PHP源代码
Jun 26 PHP
浅析php面向对象public private protected 访问修饰符
Jun 30 PHP
解析PHP实现下载文件的两种方法
Jul 05 PHP
php过滤所有恶意字符(批量过滤post,get敏感数据)
Mar 18 PHP
Yii框架中sphinx索引配置方法解析
Oct 18 PHP
利用Laravel事件系统如何实现登录日志的记录详解
May 20 PHP
Ubuntu上安装yaf扩展的方法
Jan 29 PHP
零基础php编程好学吗
Oct 11 PHP
Laravel 手动开关 Eloquent 修改器的操作方法
Dec 30 PHP
ThinkPHP5 框架引入 Go AOP,PHP AOP编程项目详解
May 12 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
收音机指标测试方法及仪器
2021/03/01 无线电
用PHP生成自己的LOG文件
2006/10/09 PHP
PHP图片上传类带图片显示
2006/11/25 PHP
分享一个超好用的php header下载函数
2014/01/31 PHP
CentOS 6.3下安装PHP xcache扩展模块笔记
2014/09/10 PHP
MySql数据库查询结果用表格输出PHP代码示例
2015/03/20 PHP
PHP实现网页内容html标签补全和过滤的方法小结【2种方法】
2017/04/27 PHP
JS实现下拉框的动态添加(附效果)
2013/04/03 Javascript
jquery自定义类似$.ajax()的方法实现代码
2013/08/13 Javascript
jQuery对指定元素中指定字符串进行替换的方法
2015/03/17 Javascript
js实现点击获取验证码倒计时效果
2021/01/28 Javascript
关于cookie的初识和运用(js和jq)
2016/04/07 Javascript
使用yeoman构建angular应用的方法
2017/08/14 Javascript
Angular7创建项目、组件、服务以及服务的使用
2019/02/19 Javascript
如何用vue-cli3脚手架搭建一个基于ts的基础脚手架的方法
2019/12/12 Javascript
vue print.js打印支持Echarts图表操作
2020/11/13 Javascript
python实现定制交互式命令行的方法
2014/07/03 Python
在Python中使用NLTK库实现对词干的提取的教程
2015/04/08 Python
对于Python的Django框架部署的一些建议
2015/04/09 Python
Python 模拟购物车的实例讲解
2017/09/11 Python
Python标准库inspect的具体使用方法
2017/12/06 Python
网易2016研发工程师编程题 奖学金(python)
2019/06/19 Python
pandas DataFrame 交集并集补集的实现
2019/06/24 Python
使用Python和OpenCV检测图像中的物体并将物体裁剪下来
2019/10/30 Python
Pytorch中index_select() 函数的实现理解
2019/11/19 Python
python实现tail实时查看服务器日志示例
2019/12/24 Python
自定义Django Form中choicefield下拉菜单选取数据库内容实例
2020/03/13 Python
Python爬虫防封ip的一些技巧
2020/08/06 Python
Python爬取梨视频的示例
2021/01/29 Python
美术国培研修感言
2014/02/12 职场文书
厂区绿化方案
2014/05/08 职场文书
党的群众路线对照检查材料
2014/09/22 职场文书
纪检干部学习心得体会
2016/01/23 职场文书
Python利用folium实现地图可视化
2021/05/23 Python
Python Numpy库的超详细教程
2022/04/06 Python
win server2012 r2服务器共享文件夹如何设置
2022/06/21 Servers