最近帮一个笔友写公司主题,必须为商品设置一个名为产品的专业帖子类型。为了更好的管理方法的便利性,我为产品设置了专业的分类类型和logo类型,分类类型为product_cat(WordPress自带的分类类型为category)。
为什么要用get_term_link?:
不能使用新的分类类型<?PHPechoget_category_link($category_id);?>函数get_term_link()必须用于输出分类连接的详细地址。该函数的用法如下:
<?phpget_term_link($term,$taxonomy);?>
实际参考WordPressCodex:http://codex.wordpress.org/Function_Reference/get_term_link
问题:
例子:
-自定义类别ID的自变量是$term,根据后台管理设置改变$term。为了更好的方便,假设后台管理的主要参数是$TERM_custom_TERM=8
-我想用一个自定义的分类is$term来获取分类连接的详细地址,那么根据官网的说法应该是:
<?PHP
$term=$termcustom_term;
echoget_term_link($term,'product_cat');
?>
看似没什么问题,但接着问题来了,那就又回到不正确:
可捕捉的致命错误:WP_error类的对象在中无法转换成字符串。没错,立即使用echo$term输出确实是8,让人厌烦...
但是如果你马上这么做:
<?phpechoget_term_link(8,'product_cat');?>
一切又可以正常工作了。
解决方案:
WordPressCodex转的时候无意间看到海外的朋友也遇到这个问题,然后自己解决,意识到,...“Transporter”
原来是自变量类型问题,gets_term_link函数等常见WordPress。
在这里,一切都将正常工作:
(Bolo坐在沙发上注意:intval($term,10)会更好,否则当$term值较大时会出现十进制转换问题,或者(int)$TERM)
<?PHP
$term=$termcustom_term;
echoget_term_link(intval($term),'product_cat');
?>
所以,在遇到相似数据的枯燥数之后,就要考虑自变量的数据信息类型是否困难了。
鬼混(完)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)