在函数.php中时,GET_TERM_BY不起作用

时间:2011-08-28 作者:Andrei

我对get\\u term\\u by()有一个奇怪的问题。当我在模板中使用它时,它工作得很好,但当我在函数中使用它时,它工作得很好。php它只返回false。

$term = get_term_by(\'slug\', \'some-term\', \'some-taxonomy\');
var_dump($term);
如果您能解释为什么会发生这种情况,我们将不胜感激。

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

这可能是因为您尝试查询的分类法尚未注册。主题运行时加载WordPress环境。php文件加载,但许多插件/主题/核心函数直到稍后才注册分类法。

尝试连接到init 具有非常高的优先级,并运行get_term_by 作用像这样:

<?php
add_action( \'init\', \'wpse27111_tester\', 999 );
function wpse27111_tester()
{
    $term = get_term_by(\'slug\', \'some-term\', \'some-taxonomy\');
    var_dump($term);
}

结束

相关推荐

Leveled - Terms foreach

我需要构建一个php foreach,它将遍历我自定义分类法“部分”中的所有术语。我知道如何获得“Section”中所有术语的foreach,但我不能做的是用levels构建它。我希望顶部父项作为标题,其子项将显示在列表中。下面是我需要的输出的html示例。<div class=\"accordian\"> <div> Term Parent </div> <ul> <li> Term Child