要求plugin.php早点使用get_plugin_data()会节省时间吗?

时间:2015-06-19 作者:wedi

我希望避免在多个地方硬编码插件的版本。要实现此功能get_plugin_data() 很方便。但这里的乐趣来了一个不愉快的停止。例如,应尽早检查插件更新以执行相关内务管理(例如。plugins_loaded) 但不幸的是wp-admin/includes/plugin.php 之前未加载admin_init 已启动。

此处不可能使用更高版本的挂钩。这可能是some plugins 但它对我不起作用,因为我的插件挂接到登录过程中,需要在这之前进行更新处理。。。

我的问题是:是否保存到require( ABSPATH . \'wp-admin/includes/plugin.php\') 在我的插件之前?该文件包含一些函数定义并添加了一个过滤器。就是这样。

我试过了。乍一看,这是可行的,我看不出有什么影响,但也许你知道一些?我很乐意听到任何积极或消极的暗示。非常感谢。

2 个回复
SO网友:s_ha_dum

乍一看,这是可行的,我看不出有什么影响,但也许你知道一些?

你说你没有收到错误,这是我预料到的,但是it looks as though WordPress uses require_once() 所以你可能很安全:

39  /** WordPress Plugin Administration API */
40  require_once(ABSPATH . \'wp-admin/includes/plugin.php\');
这种黑客倾向于表明你做错了什么。

SO网友:Dima Stefantsov

No, don\'t require plugin.php.

为了避免一点点糟糕的代码,您将引入许多非常糟糕的代码。如果包含插件,谁知道会出什么问题。php。谁知道在未来几年会出什么问题。WordPress核心开发人员不希望用户在初始化过程的早期包含核心文件。

因此,与其以真正危险和意外的方式进行,不如define(\'MY_PLUGIN_VERSION\', 2); 插件版本标题的正下方。这样更安全、更好。

结束

相关推荐

由于wp-admin的HTTPS导致AJAX请求中断

我的wp管理部分通过plugin. 我也有在前端使用https的特定页面(登录、计费等)我似乎对使用AJAX到HTTPS进行管理AJAX的HTTP页面有问题。php nonce失败。是否可以将HTTP nonce与HTTPS nonce一起使用?HTTPS到HTTPS工作正常。问题只是HTTP到HTTPS。这是预期的行为吗?我认为没有必要提供任何代码,因为这是相当标准的。感谢您的任何意见