详解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脚本数据库功能详解(上)
Oct 09 PHP
PHP中include()与require()的区别说明
Mar 10 PHP
PHP Memcached + APC + 文件缓存封装实现代码
Mar 11 PHP
PHP 遍历文件实现代码
May 04 PHP
php实现的Captcha验证码类实例
Sep 22 PHP
php生成不重复随机数、数组的4种方法分享
Mar 30 PHP
ThinkPHP路由详解
Jul 27 PHP
PHP 数组基本操作方法详解
Jun 17 PHP
php版微信公众平台入门教程之开发者认证的方法
Sep 26 PHP
PHP常用的三种设计模式
Feb 17 PHP
php读取和保存base64编码的图片内容
Apr 22 PHP
PHP Swoole异步MySQL客户端实现方法示例
Oct 24 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
克隆一个新项目的快捷方式
2013/04/10 PHP
PHP多例模式介绍
2013/06/24 PHP
destoon实现底部添加你是第几位访问者的方法
2014/07/15 PHP
PHP HTTP 认证实例详解
2016/11/03 PHP
javascript for循环设法提高性能
2010/02/24 Javascript
基于jQuery的图片剪切插件
2011/08/03 Javascript
浅谈关于JavaScript的语言特性分析
2013/04/11 Javascript
javascript制作的网页侧边弹出框思路及实现代码
2014/05/21 Javascript
浅谈Javascript中匀速运动的停止条件
2014/12/19 Javascript
JavaScript实现网站访问次数统计代码
2015/08/12 Javascript
Node.js插件安装图文教程
2016/05/06 Javascript
JavaScript知识点总结(六)之JavaScript判断变量数据类型
2016/05/31 Javascript
Vue shopCart 组件开发详解
2018/01/26 Javascript
vue 实现通过手机发送短信验证码注册功能
2018/04/19 Javascript
Vue表情输入组件 微信face表情组件
2019/02/11 Javascript
JS实现的碰撞检测与周期移动完整示例
2019/09/02 Javascript
React+EggJs实现断点续传的示例代码
2020/07/07 Javascript
[38:41]2014 DOTA2国际邀请赛中国区预选赛 LGD VS CNB
2014/05/22 DOTA
Python探索之URL Dispatcher实例详解
2017/10/28 Python
对python使用http、https代理的实例讲解
2018/05/07 Python
python 用lambda函数替换for循环的方法
2018/06/09 Python
pyqt5 lineEdit设置密码隐藏,删除lineEdit已输入的内容等属性方法
2019/06/24 Python
如何通过雪花算法用Python实现一个简单的发号器
2019/07/03 Python
Python求正态分布曲线下面积实例
2019/11/20 Python
Python实现汇率转换操作
2020/05/03 Python
Python命名空间namespace及作用域原理解析
2020/06/05 Python
新闻专业应届生求职信
2013/10/31 职场文书
《罗布泊,消逝的仙湖》教学反思
2014/03/01 职场文书
工程采购员岗位职责
2014/03/09 职场文书
合作协议书范本
2014/04/17 职场文书
工作目标责任书
2014/07/23 职场文书
领导干部个人整改措施落实情况汇报
2014/10/29 职场文书
医院办公室主任岗位职责
2015/04/01 职场文书
2015年语文教学工作总结
2015/05/25 职场文书
焦裕禄观后感
2015/06/03 职场文书
教师节联欢会主持词
2015/07/04 职场文书