get_term_link not working

时间:2013-05-13 作者:Eckstein

我正在尝试使用下面的代码片段显示一个图像,然后将其包装在指向特定术语存档页的链接中。在本例中,我有一个带有几个不同术语的自定义分类法(系列)。变量$series输出Term对象,因此我想使用get\\u Term\\u link函数获取到terms归档页面的URL。

get\\u term\\u链接的文档(http://codex.wordpress.org/Function_Reference/get_term_link) 说我应该能够简单地提供object这个词,它会起作用,但事实并非如此。我得到了一个部分页面加载,这意味着当代码到达这个函数时,它将被破坏。

感谢您的帮助!

$imageid = get_sub_field(\'series_banner\', \'options\');
$image = wp_get_attachment_image( $imageid, \'home-series-banner\');
$series = get_sub_field(\'series_link\', \'options\'); //Returns the term object ?>
<a href="<?php echo get_term_link($series); ?>"><?php echo $image; ?></a>

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

该字段可以返回多个term对象,这取决于您如何配置它,所以我猜$series 在本例中,是一个包含单个元素的数组,其中包含术语对象。尝试检查系列的内容:

print_r( $series );
您可能会看到如下内容:

Array
(
    [0] => stdClass Object
        (
            [term_id] => 1
            [name] => test
            [slug] => test
            [term_group] => 0
            [term_taxonomy_id] => 1
            [taxonomy] => category
            [description] => 
            [parent] => 0
            [count] => 1
        )
)
如果是这种情况,请尝试通过$series[0]get_term_link.

SO网友:Rahul Gahlot

问题是您将term\\u id作为字符串获取,所以请在函数之前将其转换

get_term_link($series);

(int)$term_id=(int)str_replace(\' \', \'\',$data[0]->term_id);

结束

相关推荐

使用$TERMS的分层视图的分类下拉列表

我在Wordpress论坛上问过这个问题,但现在没有得到任何回复,我希望我可以在这里问。我找到密码了here 我的代码是:function exc_custom_taxonomy_dropdown( $taxonomy, $orderby, $order, $hierarchical, $show_count, $name) { $args = array( \'orderby\' => \'name\', \'order\' =&g