获取最新创建的自定义类别(GET_TERM_BY和变量)(Out Loop)

时间:2012-10-24 作者:Arkuen

我想知道为什么下面的代码不能工作?

我的情况:我设置了一个名为“问题”的自定义类别。我想做的是获取最新创建的类别(即“第2卷第1期”)并获取其ID,以便运行plugin 作用z_taxonomy_image_url($currentID); 它根据以下项标识的类别输出URL:$currentID

目前我有一个非常黑客的解决方案,但如果有人能找出下面代码的最后3行为什么不起作用,那就太棒了。

我们也希望有替代和更清洁的解决方案。

$taxonomy=wp_list_categories(\'taxonomy=issue&echo=0&number=1&orderby=ID&order=DESC&show_count=0&style=none&title_li=\');
$tax = strip_tags($taxonomy);
$newtax = "\'".trim($tax)."\'";
$getID = get_term_by(\'name\', $newtax, \'issue\');
$currentID = $getID->term_id;
正在执行var_dump 在…上$getID 仅导致bool(false)

有趣的是,这段代码很有效(但我无法使用它,因为每次创建新类别时都需要手动更改代码)。

$getID = get_term_by(\'name\', \'Volume 2 Issue 1\', \'issue\');
$currentID = $getID->term_id;
有什么get_term_by 它拒绝使用$newtax 但接受\'Volume 2 Issue 1\' ? 如果是,是否有解决方法,或者我是否需要寻找其他方法?

我不是很精通PHP和WP代码。我不怕修修补补,但我的知识只是基本的:(请容忍我。

感谢您抽出时间。

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

删除了我添加到的单引号$newtax 让它工作(如下所示:)

$taxonomy=wp_list_categories(\'taxonomy=issue&echo=0&number=1&orderby=ID&order=DESC&show_count=0&style=none&title_li=\');
$tax = strip_tags($taxonomy);
$newtax = trim($tax);
$getID = get_term_by(\'name\', $newtax, \'issue\');
$currentID = $getID->term_id;
为此,问题目前已得到解决。

然而,如果有人能提出更好/更清洁的解决方案,那就太好了。

非常感谢。

SO网友:Mridul Aggarwal

您可以使用此功能http://codex.wordpress.org/Function_Reference/get_categories

传递的参数基本相同,只是它返回一个包含所有类别信息的对象。使用此函数可以替换代码的前4行。现在,您的最终代码变成:

$getID = get_categories(\'taxonomy=issue&number=1&orderby=ID&order=DESC\');
$currentID = $getID->term_id;

结束

相关推荐