如何将MU插件作为主题依赖项包括在内?

时间:2020-04-30 作者:exxodus7

我正在学习一个教程,它说创建新的post_types 最好通过创建一个新的mu插件(而不是将其添加到functions.php). 我明白为什么,但我不明白的是如何将这个mu插件作为我的主题的依赖项。

我希望能够让我的朋友上传我的主题,并让它立即工作,而不必告诉他们将mu插件文件复制到WordPress的mu插件文件夹中。

2 个回复
SO网友:cjbj

建议您在插件中放置自定义帖子类型而不是主题的原因是,这样即使用户决定切换到其他主题,也可以保留cpt。在五年左右的时间里,设计趋势可能会发生重大变化,你不想被一个主题所束缚,因为它也符合你的自定义帖子定义。

现在,如果你看看hook order, 您可以看到,mu插件是在加载其他插件之前加载的。这意味着插件的主要功能在您在after_setup_theme 钩在这一点上,您可以使用function_exists 检查插件是否已加载。如果没有,你可以通知用户或者做一些更激烈的事情,比如停止加载主题。

顺便说一下,没有必要让你的插件成为必须使用的插件。这个plugins_loaded 钩子也在之前执行after_setup_theme, 因此,在您开始初始化主题之前,WP知道任何插件函数。

此外,还可以使依赖关系成为一种双向关系。如果插件在init 钩子,此时已加载主题,因此您可以检查主题的主要功能是否存在,并向用户发出警告,说明他没有使用适合此自定义帖子类型的主题。

SO网友:Tom J Nowell

Don\'t

只需在插件文件夹中的普通插件中注册您的帖子类型。你不需要mu-plugin 使用CPT。

相关推荐

Mu-plugins文件夹在多站点安装中是如何工作的?

我对什么时候应该将插件文件放入mu插件有点困惑。我知道它必须使用插件,而且我知道它们是自动启用的。但是,在网络设置中,这是否会强制在所有子博客中启用插件文件?这是有道理的,那么这是我唯一一次应该在网络中放置插件文件吗?我什么时候希望插件代码在每个子博客中运行?例如,如果我想自动设置一个新的缩略图大小,我应该在那里这样做吗?或者还有其他例子吗。那么网络激活呢?