详解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初学者们头痛的十四个问题
Jan 15 PHP
php更改目录及子目录下所有的文件后缀的代码
Sep 24 PHP
深入php var_dump()函数的详解
Jun 05 PHP
如何用php获取文件名后缀
Jun 09 PHP
解析htaccess伪静态的规则
Jun 18 PHP
解析wamp5下虚拟机配置文档
Jun 27 PHP
php+ajax实现无刷新分页的方法
Nov 04 PHP
PHP实现统计在线人数功能示例
Oct 15 PHP
PHP读取文件的常见几种方法
Nov 03 PHP
PHP实现的日历功能示例
Sep 01 PHP
PHP __call()方法实现委托示例
May 20 PHP
PHP设计模式(七)组合模式Composite实例详解【结构型】
May 02 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 REMOTE_ADDR之获取访客IP的代码
2008/04/22 PHP
php flush类输出缓冲剖析
2008/10/19 PHP
PHP实现一维数组转二维数组的方法
2015/02/25 PHP
Laravel框架实现的上传图片到七牛功能详解
2019/09/06 PHP
JavaScript mapreduce工作原理简析
2012/11/25 Javascript
表单类各种类型(文本框)失去焦点效果jquery代码
2013/04/26 Javascript
使用jquery操作session方法分享
2015/01/22 Javascript
基于JS实现PHP的sprintf函数实例
2015/11/14 Javascript
JQuery控制图片由中心点逐渐放大效果
2016/06/26 Javascript
简单实现jQuery级联菜单
2017/01/09 Javascript
微信小程序实现图片自适应(支持多图)
2017/01/25 Javascript
JS去掉字符串前后空格或去掉所有空格的用法
2017/03/25 Javascript
基于JavaScript实现瀑布流效果
2017/03/29 Javascript
通过学习bootstrop导航条学会修改bootstrop颜色基调
2017/06/11 Javascript
如何通过setTimeout理解JS运行机制详解
2019/03/23 Javascript
小程序新版订阅消息模板消息
2019/12/31 Javascript
JS实现分页导航效果
2020/02/19 Javascript
vue-resource post数据时碰到Django csrf问题的解决
2020/03/13 Javascript
通过vue刷新左侧菜单栏操作
2020/08/06 Javascript
在vue中axios设置timeout超时的操作
2020/09/04 Javascript
[00:05]ChinaJoy现场 DOTA2玩家高呼“CN DOTA BEST DOTA”
2019/08/04 DOTA
Python交互环境下实现输入代码
2018/06/22 Python
Python获取Redis所有Key以及内容的方法
2019/02/19 Python
Python项目 基于Scapy实现SYN泛洪攻击的方法
2019/07/23 Python
Django获取该数据的上一条和下一条方法
2019/08/12 Python
解决Keras TensorFlow 混编中 trainable=False设置无效问题
2020/06/28 Python
Python命令行参数定义及需要注意的地方
2020/11/30 Python
用CSS3将你的设计带入下个高度
2009/08/08 HTML / CSS
HTML5 文件域+FileReader 分段读取文件并上传到服务器
2017/10/23 HTML / CSS
html5调用app分享功能示例(WebViewJavascriptBridge)
2018/03/21 HTML / CSS
Html5监听手机摇一摇事件的实现
2019/11/07 HTML / CSS
开学典礼感言
2014/02/16 职场文书
闪闪的红星观后感
2015/06/08 职场文书
2015年暑期社会实践总结
2015/07/13 职场文书
经典哲理警句:志不真则心不热,心不热则功不贤
2019/11/14 职场文书
Python+Selenium实现读取网易邮箱验证码
2022/03/13 Python