WordPress让插件随主题一同启用

标签:WordPress教程
如需帮忙改代码,或者WordPress二次开发、PHP网站建设等需求,可联系我购买付费服务:  点此联系我

     在编写一个主题的时候,可能有些功能并不一定要在主题中实现,而是要借助一些插件来实现。那么我们如何做到在启用主题的时候,同时启用某个插件呢?

     我们可以在主题的functions.php中添加以下代码(这里以akismet为例):

include_once( ABSPATH . 'wp-admin/includes/plugin.php' );

// 判断插件是否已经启用
if (is_admin() && current_user_can('activate_plugins')
  && !is_plugin_active(ABSPATH . 'wp-content/plugins/akismet/akismet.php')) {
  // 启用插件
  activate_plugin(ABSPATH . 'wp-content/plugins/akismet/akismet.php');
}

     首先我们需要include一下plugin.php,因为我们用到的两个函数is_plugin_active()和activate_plugin()都是在plugin.php中定义的,而主题文件不会自动引用这个文件。

     接着我们需要判断当前页面是否是后台,同时为了安全考虑,我们需要用current_user_can()判断当前用户是否有启用主题的权限。最后,判断插件是否已启用,这里使用插件主文件的路径,何为插件主文件呢?这个文件在插件目录下,一般与插件同名,用文本编辑器打开,一般会看到类似注释:

/*
Plugin Name: **
Plugin URI: **
Description: **
Version: **
Author: **
*/

     需要提醒的是,主题发布记得附带插件或叮嘱用户下载好插件。

参考文章:
Function Reference/is plugin active

-- 完 --

本文采用 「CC BY-NC-SA 4.0」创作共享协议,转载请标注以下信息:
原文出处:露兜博客 https://www.ludou.org/how-to-activate-plugin-automatically-in-the-theme-wordpress.html
露兜
kaapass@outlook.com  QQ 825533758

业余编程爱好者,主业是淘宝店主,卖些工艺品,感兴趣可以到我的淘宝店看看(旺旺不提供技术咨询):西西弗sisyphe