建议您在插件中放置自定义帖子类型而不是主题的原因是,这样即使用户决定切换到其他主题,也可以保留cpt。在五年左右的时间里,设计趋势可能会发生重大变化,你不想被一个主题所束缚,因为它也符合你的自定义帖子定义。
现在,如果你看看hook order, 您可以看到,mu插件是在加载其他插件之前加载的。这意味着插件的主要功能在您在after_setup_theme
钩在这一点上,您可以使用function_exists
检查插件是否已加载。如果没有,你可以通知用户或者做一些更激烈的事情,比如停止加载主题。
顺便说一下,没有必要让你的插件成为必须使用的插件。这个plugins_loaded
钩子也在之前执行after_setup_theme
, 因此,在您开始初始化主题之前,WP知道任何插件函数。
此外,还可以使依赖关系成为一种双向关系。如果插件在init
钩子,此时已加载主题,因此您可以检查主题的主要功能是否存在,并向用户发出警告,说明他没有使用适合此自定义帖子类型的主题。