为何要用 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的参数设置问题
2019-09-28 14:19WordPress教程网 Wordpress
最近帮一个朋友写企业类主题,需要对产品设定一个专门的 post type 名叫 product,为了管理方便性,我对 product 设置了专门的分类类型和标签类型,分类类型为 product_cat(WordPress 本身的分类类型为 category)。
延伸 · 阅读
- 2022-06-28Python简明讲解filter函数的用法
- 2022-04-21利用 Pandas 进行分类数据编码的十种方式
- 2022-04-14GO语言字符串处理Strings包的函数使用示例讲解
- 2022-04-14Python中的 any() 函数和 all() 函数
- 2022-03-11Python 函数装饰器应用教程
- 2022-03-11Python全栈之文件函数和函数参数
- Wordpress
wordpress使用外链图片作为文章缩略图的方法
这篇文章详细的告诉了读者wordpress特色图片(缩略图)功能如何开启,如何调用缩略图。要解决使用外链图片作为文章缩略图的问题,下面是我的思路和解...
- Wordpress
优化WordPress的Google字体以加速国内服务器上的运行
这篇文章主要介绍了优化WordPress的Google字体以加速国内服务器上的运行的方法,由于谷歌在内地被墙导致其更新等方面都收到不同程度的影响,需要的朋友可...
- Wordpress
整理的一些实用WordPress后台MySQL操作命令
WordPress将其所有信息片段(包括文章、页面、评论、博客链接、插件设置等)存储在MySQL数据库中。 虽然WordPress用户可以通过网站后台编辑控制以上信息片...
- Wordpress
WordPress获取文章内容摘要的方法
这篇文章主要为大家介绍了WordPress获取文章内容摘要的方法,通过较为简单的自定义函数实现这一功能,具有一定的参考借鉴价值,需要的朋友可以参考下...
- Wordpress
WordPress自带thumbnail缩略图功能使用介绍
从wordpress2.9开始就可以使用自带的缩略图功能了,实现方法也很简单 ...
- Wordpress
多个WordPress站点使用同一数据库的方法
对于多个WordPress站点使用同一数据库可通过修改表前缀(Table Prefix)来实现,主要分两种情况 ...
- Wordpress
加速WordPress技巧:Redis缓存输出的HTML页面
Redis是一个高级的key-value存储系统,类似memcached,所有内容都存在内存中,因此每秒钟可以超过10万次GET操作。 ...
- Wordpress
wordpress非插件实现添加链接转跳功能
这篇文章主要介绍了wordpress非插件实现添加链接转跳功能,需要的朋友可以参考下...