在unctions.php中使用GET_TERMS进行自定义分类 时间:2012-11-21 作者:Madalin 我正在尝试检索分类法项目的名称,并将它们包含到主题管理面板中。 function retrieve_my_terms() { global $terms; $terms = get_terms(\'taxonomy\'); foreach ($terms as $term) { $option = $term->name; return $option; } } 该函数添加在创建自定义帖子类型和分类的函数之后。据我所知,似乎init 动作发生在主题功能之后。php文件已经包含在内,所以如果我直接在函数文件中查找术语,我会在它们实际注册之前进行查找。换句话说,直到包含主题函数文件之后,init操作才会启动,因此任何术语检索都必须在init之后进行。我的问题是,我不知道如何在init之后检索术语。任何回答都将不胜感激!非常感谢。马达林 3 个回复 最合适的回答,由SO网友:Mridul Aggarwal 整理而成 您可以在init本身上添加操作,只需增加add_action 呼叫优先级越高,调用函数的时间越晚。add_action(\'init\', \'retrieve_my_terms\', 9999);但我的建议是,你应该尽可能晚地做这类事情,最好是在第一次使用之前。有一个动作\'wp_loaded\' 在加载完整的wordpress后调用;准备开始处理输出。这样做可能对你有用。 SO网友:Stephen Harris 没错functions.php 在之前加载init - 大多数帖子类型都将使用该挂钩进行注册。但是,您可以使用后面的挂钩,这将更加合适。你说你需要访问里面的条款functions.php. 但是你什么时候需要它们?init 在每一个页面加载时(前面和后面)触发,我不认为您的意思是在每一个页面加载时检索术语。有很多钩子可供您使用,它们都在不同的上下文中触发。如果你准确地告诉我们你想用什么术语来决定你应该使用哪个钩子。(我对将它们包含到主题管理面板中有点困惑)。听起来您可能试图在管理元数据库中输出列表。无论如何,您可以包含一些代码吗? SO网友:Tom J Nowell 您可以在函数的全局范围内定义函数。php没有问题。它是using 注册之前的函数,这就是问题所在。而不是在函数中进行操作。php在全局范围内,在挂钩中执行。函数中唯一的东西。应该允许不在挂钩中的php是add_action.所以把所有东西都挂在挂钩上,然后打电话in a hook/action after 您的帖子类型注册,not before in loose code in the global 结束 文章导航