插件中的分类无效

时间:2015-12-25 作者:Matt Kaye

我在一个函数文件中注册了两个分类法。然后按如下方式初始化它们:

function foo_register_post_types_and_taxonomies() {
  foo_register_post_types(); // defined in lib/post_types.php
  foo_register_taxonomies(); // defined in lib/taxonomies.php
}

add_action(\'init\', \'foo_register_post_types_and_taxonomies\');
问题是,在我正在构建的插件中,这两种分类法是无效的。我想从我读到的内容来看,插件在分类法初始化之前运行?如何解决这个问题,以便我可以从插件中访问这些税款?

换句话说,在任何模板文件的插件之外,当我运行get_terms(\'school\'), 我得到了分类法“学校”的一系列术语。在插件中运行相同的代码会返回无效的分类法。简而言之,这是我的问题。

1 个回复
最合适的回答,由SO网友:s_ha_dum 整理而成

你的分类法在你告诉他们注册的地方注册,在initwhich is the recommended hook for registering them. 你做得对。

是的,插件本身将在钩子执行之前加载。你可以通过comparing the init hook\'s location in the load sequence to the plugins_loaded hook\'s placement.

您并没有确切地说明您想要完成什么,但关键是任何用于访问分类法的代码都需要在init 钩子(可能具有高于正常优先级)或在稍后的钩子上。

相关推荐