我的全局函数放在哪里?

时间:2019-08-09 作者:jonnyK

目前,我的函数中有一个全局函数。php文件

ein_error_log($message)
{
      //push out $message to file... 
}
但我想开始在我的MU插件目录中使用它,但它不知道它存在。所以我假设这是因为在WordPress的层次结构中,MU插件文件夹是在主题文件夹之前读取的,这是有道理的。

但是如果层次结构是这样的,我如何区分哪个MU插件首先运行,以确保所有其他MU插件文件都可以依赖于该文件运行?

--更新--

我已将我的ein\\u error\\u log($message)方法传输到mu插件文件中。我意识到让mu插件文件依赖于函数中的方法是多么愚蠢。php文件。但我仍然希望其他mu插件文件也使用这种错误记录方法。这需要一些mu插件具有依赖性。它很小,但对我来说很重要。

2 个回复
SO网友:jonnyK

幸亏https://salferrarello.com/functions-plugin-mu-plugin-wordpress/

我能够确认代码何时运行

WordPress不同文件中的所有代码都可以看作是一个庞大的指令列表。代码逐行运行,从列表的开头一直运行到列表的结尾。顺序基本上是。

WordPress的核心代码是mu插件。php显示特定模板的主题代码,但它不响应MU\\U插件的运行顺序(按字母顺序,重要性顺序?)

因此,我目前的解决方案是添加

include(\'/my-functions.php\');
任何使用“/mu插件/我的函数。php’。它起作用了。

SO网友:kraftner

我想说的是,一般来说,您希望从插件文件中运行尽可能少的代码。最好使用这样的钩子muplugins_loadedplugins_loaded, 越晚越好。这样,代码只在所有插件初始化后运行,这意味着您不再需要担心加载顺序。

相关推荐

Testing Plugins for Multisite

我最近发布了一个WordPress插件,它在单个站点上非常有效。我被告知该插件在多站点安装上不能正常工作,我理解其中的一些原因。我已经更新了代码,现在需要一种方法来测试更新后的代码,然后才能转到实时客户的多站点安装。我有一个用于测试的WordPress安装程序的单站点安装,但需要在多站点安装上进行测试。根据我所能找到的唯一方法是在网络上至少有两个站点来安装整个多站点安装,以测试我的插件。设置WordPress的整个多站点安装是插件开发人员的唯一/首选方式,还是有更快的测试环境可用。