详解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 相关文章推荐
杏林同学录(五)
Oct 09 PHP
模拟SQLSERVER的两个函数:dateadd(),datediff()
Oct 09 PHP
php使用ereg验证文件上传的方法
Dec 16 PHP
PHP中使用CURL获取页面title例子
Jan 07 PHP
配置eAccelerator和XCache扩展来加速PHP程序的执行
Dec 22 PHP
Symfony2框架学习笔记之表单用法详解
Mar 18 PHP
php实现批量删除挂马文件及批量替换页面内容完整实例
Jul 08 PHP
php 输出json及显示json中的中文汉字详解及实例
Nov 09 PHP
php实现PDO中捕获SQL语句错误的方法
Feb 16 PHP
PHP等比例压缩图片的实例代码
Jul 26 PHP
PHP实现微信提现功能
Sep 30 PHP
PHP将英文数字转换为阿拉伯数字实例讲解
Jan 28 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
PHP4(windows版本)中的COM函数
2006/10/09 PHP
PHP网上调查系统
2006/10/09 PHP
全局记录程序片段的运行时间 正确找到程序逻辑耗时多的断点
2011/01/06 PHP
Yii把CGridView文本框换成下拉框的方法
2014/12/03 PHP
PHP如何实现阿里云短信sdk灵活应用在项目中的方法
2019/06/14 PHP
php ZipArchive实现多文件打包下载实例
2019/10/31 PHP
基于JavaScript实现 获取鼠标点击位置坐标的方法
2013/04/12 Javascript
js实现模拟银行卡账号输入显示效果
2015/11/18 Javascript
Vue实现双向绑定的方法
2016/12/22 Javascript
使用gulp搭建本地服务器并实现模拟ajax
2017/04/05 Javascript
微信小程序实现拖拽 image 触摸事件监听的实例
2017/08/17 Javascript
React全家桶环境搭建过程详解
2018/05/18 Javascript
vue实现日历备忘录功能
2020/09/24 Javascript
JS浮点数运算结果不精确的Bug解决
2019/08/01 Javascript
在Vue项目中,防止页面被缩放和放大示例
2019/10/28 Javascript
[57:47]Fnatic vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python描述器descriptor详解
2015/02/03 Python
python学习教程之使用py2exe打包
2017/09/24 Python
Python多线程中阻塞(join)与锁(Lock)使用误区解析
2018/04/27 Python
python批量复制图片到另一个文件夹
2018/09/17 Python
Python实现网站表单提交和模板
2019/01/15 Python
查看python安装路径及pip安装的包列表及路径
2019/04/03 Python
利用Python裁切tiff图像且读取tiff,shp文件的实例
2020/03/10 Python
python使用Windows的wmic命令监控文件运行状况,如有异常发送邮件报警
2021/01/30 Python
HTML5触摸事件演化tap事件介绍
2016/03/25 HTML / CSS
Fabletics官网:美国运动服饰品牌,由好莱坞女演员凯特·哈德森创立
2019/10/19 全球购物
法学毕业生自我鉴定
2013/11/08 职场文书
开学典礼感言
2014/02/16 职场文书
求职教师自荐书
2014/06/19 职场文书
建筑学专业自荐书
2014/07/09 职场文书
行政执法队伍作风整顿剖析材料
2014/10/11 职场文书
学校运动会广播稿
2014/10/11 职场文书
2019请假条的基本格式及范文!
2019/07/05 职场文书
开发一个封装iframe的vue组件
2021/03/29 Vue.js
CSS3实现的文字弹出特效
2021/04/16 HTML / CSS
Java 数组的使用
2022/05/11 Java/Android