为何要用 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函数get_term_link详解:参数设置技巧与常见问题解决
相关推荐
- 如何在Ubuntu Linux 7.04上轻松安装和高效使用QQ、MSN聊天工具
- Linux高效运行后台任务:全面解析几种实用方法与实践技巧
- 如何在Linux系统中使用Audacity高效编辑音频:新手到高手的完整指南
- CentOS下源码编译安装PHP:Linux+Apache+Oracle完美环境搭建教程
- CentOS系统下Linux+PHP+Apache+Oracle环境完整搭建教程:一步步安装配置Apache
- 如何在Ubuntu Linux系统下轻松设置WPA无线网络连接
- 一步步详解:在CentOS系统上搭建Linux+PHP+Apache+Oracle完美开发环境
- Maui Shell 发布:探索 Linux 桌面新纪元,体验未来操作系统的革命性变革!
- CentOS 6.3完整教程:一步步编译安装LAMP环境详细笔记
- Firefox 95 vs Chrome 97: Linux平台性能大比拼,哪个浏览器更胜一筹?
搬瓦工中文网










