WordPress中函数get_term_link的参数怎样设置?
WordPress中函数get_term_link的参数设置成绩
保举:《wordpress教程》
比来帮一个冤家写企业类主题,需求对产物设定一个专门的 post type 名叫 product,为了治理不便性,我对 product 设置了专门的分类类型以及标签类型,分类类型为 product_cat(WordPress 自身的分类类型为 category)。
为什么要用 get_term_link?:
新类型的分类是无奈用 <?php echo get_category_link( $category_id ); ?> 输入分类链接地点的,需求用 get_term_link() 函数,此函数用法以下:
<?php get_term_link( $term, $taxonomy ); ?>
详细参考 WordPress Codex:http://codex.wordpress.org/Function_Reference/get_term_link
成绩:
举个例:
- 自界说分类ID的变量为 $term,$term 是依据后盾设置而扭转的,为了不便阐明,这里假设后盾参数为 $custom_term = 8
- 我要猎取自界说分类ID为 $term 的分类链接地点,那末依照民间阐明应该是:
<?php $term = $custom_term; echo get_term_link( $term, 'product_cat'); ?>
看似没错,但成绩来了,这样会前往谬误:
Catchable fatal error: Object of class WP_Error could not be converted to string in.。没错啊,间接用 echo $term; 输入后果确实是 8,这就让人忧郁了……
不外假如你间接这样:
<?php echo get_term_link( 8, 'product_cat'); ?>
又能失常工作。
处理办法:
正在 WordPress Codex 打转时,有意中看到外洋冤家也碰着这个成绩,而后他本人处理了,顿悟……传送门 》
原来是变量类型成绩,这 get_term_link 函数以及其它罕用的 WordPress 函数没有同,没有会本人转换变量类型,你患上先把字符类转换为整数能力失常工作,好Orz的函数!
上面这样就能失常工作:
(坐正在沙发上的Bolo注:intval($term, 10)会更好,否则$term值太年夜的时分会有进制转换成绩,要末就用(int)$term)
<?php $term = $custom_term; echo get_term_link( intval($term), 'product_cat'); ?>
以是,当前遇到相似这忧郁的函数,就要思考是否是变量数据类型成绩了。
折腾玩(完)。
以上就是WordPress中函数get_term_link的参数怎样设置的具体内容,更多请存眷资源魔其它相干文章!
标签: WordPress wordpress教程 wordpress自学 wordpress技术