您现在的位置是:首页 > 教程 > WordPress教程WordPress教程
WordPress函数get_term_link的参数设置方法
柯河舍2023-06-21 19:27:42WordPress教程已有人查阅
导读最近帮一个朋友写企业类主题,需要对产品设定一个专门的 post type 名叫 product,为了管理方便性,我对 product 设置了专门的分类类型和标签类型
最近帮一个朋友写企业类主题,需要对产品设定一个专门的 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 ); ?>
举个例:
- 自定义分类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后台地址是什么
进入后台管理前,您所需要的是先已经安装好了wordpress,一般安装wordpress的时候,系统会指引您先注册一个管理员账号,用于管理后台的账号。 -
WordPress建站步骤流程
1. 注册域名,一般注册.com域名就可以了,而且价格也不贵,基本上是70元一年。虚拟主机运营商很多。国内主机速度快,但比较贵,而且空间一般比较小;国外主机便宜,且空间大多没有限制 -
wordpress主题导入安装的几种方法
wordpress怎么导入主题方法一:在线搜索导入安装访问后台 – 外观 -主题 – 安装主题,输入主题关键字,搜索浏览搜索结果,进行安装注:这里搜索的主题 -
WordPress主题语言包汉化的制作方法
经过这次yHtml5主题的制作,我学会了怎么给主题制作语言包,就是一般的汉化主题啦。需要的朋友可以了解下,废话不多说,看步骤
留言与评论 (共有 条评论) |