在我的 WordPress 插件中,我使用以下代码为所有已安装的分类自动添加元框:
add_action( 'init', 'my_plugin_register_taxonomies_for_object_type');
function my_plugin_register_taxonomies_for_object_type()
{
$args = array(
'public' => true,
);
$output = 'objects';
$taxonomies = get_taxonomies( $args, $output );
foreach ( $taxonomies as $taxonomy )
{
register_taxonomy_for_object_type( $taxonomy->name, 'jt_condet_content' );
}
}
这对所有分类法都非常有效,即使是通过插件安装的分类法。但是,我注意到缺少一个分类法。它是由子主题register_taxonomy()
在主题的init
钩子中安装的普通帖子分类法。
知道为什么我的插件只遗漏了这个分类法my_plugin_register_taxonomies_for_object_type()
吗?它让我疯狂。我想为所有已安装的公共分类法显示元框,无论它们是内置的、通过插件安装的还是通过主题安装的。
我玩了一点动作钩子,wp_loaded
似乎可以工作,但我不能 100% 确信这是正确的钩子,还是我没事?
你能解释一下使用wp_loaded
over的缺点init
吗?