详解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' );
(0)

相关推荐

  • WordPress中使主题支持小工具以及添加插件启用函数

    让主题支持小工具 WordPress 的小工具(widget)是一大特色,它让用户自由拖动组合内容,而且任何插件和主题都可以添加一个额外的小工具,增加扩展性. 默认情况下,一个主题并不会支持小工具,需要主题开发者启用小工具功能并把小工具在相应的前台位置调用出来,这样用户才能在后台直接拖动生成侧边栏. 本文就来教你如何激活小工具功能,并且添加一个侧边栏,最后在前台显示出来. 注册侧边栏 默认的,后台外观下是没有 "小工具" 这个菜单按钮的,如果想要让他出现,就至少需要注册一个侧边栏,否则

  • 推荐十款免费 WordPress 插件

    2015必备wordpress插件列表.为了增强wordpress站点,一些优秀有效的免费wordpress 插件是必不可少的. WordPress 插件用于提升 wordpress 站点的功能.正如你所知道的,wordpress 是最流行的内容管理系统(CMS)之一,所以会有许多开发者提供支持.他们开发 wordpress 插件在提高CMS功能的同时却不会降低站点的速度.现在有许多付费和免费的 wordpress 插件,但对于你们中的大多人来说要选择哪个插件仍是个问题.所以我在这里尽量简述下一

  • 在WordPress中安装使用视频播放器插件Hana Flv Player

    Hana Flv Player 是一个在 WordPress 中应用比较广泛的播放器插件, 该插件内置了5种媒体播放器,其播放文件以 flv 文件为主, 并将插入文件的按钮集成到 WordPress 后台的编辑界面上方便用户操作, 实在是一个不可多得的好插件. 内置的播放器 OS FLV V2.0.5 FlowPlayer V2.2.1 FlowPlayer V3.2.7 FLV Player Maxi MediaElement.js 内置播放器的特色我就不说了,网上搜搜吧,这些都是比较流行的播

  • 用js代码和插件实现wordpress雪花飘落效果的四种方法

    冬天到了,很多的博客空间都加了雪花的效果,于是去看了看他们的效果实现.有好几个效果代码,就拿过来了,有需要的朋友可以拿过去试试看. 雪花大图片: 效果代码一 <script type="text/javascript" language="javascript"> (function() { function k(a, b, c) { if (a.addEventListener) a.addEventListener(b, c, false); els

  • 在WordPress中使用wp-cron插件来设置定时任务

    PHP 本身是无法创建定时任务的,但是 WordPress 自带了一个伪定时任务(Cron) API,非常的方便好用,包括 WordPress 本身的定时发布文章都依赖于这个 API WP Cron 是什么? 是 WordPress 一套定时触发机制, 可以循环安排任务执行. 如: 定时发布新文章, 定期检测版本等功能都是通过这个来实现的. WP Cron 可以为我们实现什么? 我们可以循环更新和提交网站数据, 节日定期向读者发送贺卡或者表单 ... 它的原理就是将创建的定时任务存储到数据库里,

  • 利用Fix Rss Feeds插件修复WordPress的Feed显示错误

    今天突然有个网友留言说博客的Feed挂了,症状如下: Chrome直接打开订阅页面显示如下: This page contains the following errors: error on line 1 at column 1: Document is empty Below is a rendering of the page up to the first error. FeedDemon提示:此Feed包含错误. 添加后也没什么影响,能正常使用. 鲜果阅读器也可阅读,但是没有获取到最新

  • WordPress升级版本及安装插件出现”Problem with the SSL CA cert”的解决办法

    帮助一个同学的WordPress博客从虚拟主机搬迁到VPS主机环境中,他的VPS环境是采用的免费版AMH4.2环境搭建的,告知在升级最新WordPress4.3版本以及安装插件的时候无法下载,有提示Problem with the SSL CA cert (path? access rights?)错误,这个问题老左也还是第一次遇到. 这个问题如果不能解决,那所有以后的升级主题.插件安装,得全部采用手工升级和激活,还是比较麻烦的,于是发挥搜索功能,找到解决方法.这个问题主要是系统的安全导致的限制

  • WordPress中卸载插件以及移除文章类型组件的代码示例

    插件卸载 在开发插件的过程中,免不了在数据库创建一些字段乃至表,或者创建了一些定时任务,当插件被删除的时候这些东西就会被留在 WordPress 上,变成垃圾,作为负责的开发者,有必要在删除插件的时候帮助用户删除掉我们留下的痕迹. uninstall.php 文件 做到这点有两种方法,一时在插件的根目录创建一个 uninstall.php 文件,在你的插件被删除之前会调用执行这个文件,但要注意就是防止有人恶意访问这个文件我们需要判断一下 WP_UNINSTALL_PLUGIN 常量是否被定义,没

  • 基础的WordPress插件制作教程

    插件制作准备工作 首先我们在\wp-content\plugins目录下添加一个文件夹叫做"My-Mood",在文件夹中添加一个叫做index.php的主文件,这个是插件的主文件,文件的开始需要一些命名的格式:如下面的代码 <!--?php <br ?--> /* Plugin Name: My Mood Plugin URI: http://www.aips.me Description: 一个心情发布插件 Version: 1.0 Author: 周良博客 Aut

  • 几个优化WordPress中JavaScript加载体验的插件介绍

    WordPress 本身以及主题和插件通常需要加载一些 JavaScript 来实现某些特殊功能.为了最大限度地保证兼容性,不至于出现 JavaScript 失效的情况,所以一般在页头加载 JavaScript 文件.但是根据 Yahoo 开发者论坛的建议,加载 JavaScript 应该尽量在页尾以提高页面的显示(响应.渲染)速度.本文根据作者的使用经验介绍几个相关插件,并说明如何在某些特殊页面仍然在页头加载 JavaScript. 下面先简单介绍几个相关的优化 JavaScript 的 Wo

随机推荐