广告
返回顶部
首页 > 资讯 > CMS >WordPress中函数get_term_link的参数设置问题
  • 335
分享到

WordPress中函数get_term_link的参数设置问题

WordPressget_term_link 2022-06-12 02:06:18 335人浏览 薄情痞子
摘要

为何要用 get_term_link?: 新类型的分类是无法用 <?PHP echo get_cateGory_link( $category_id ); ?> 输出分类链接地址的,需要用 get_term_

为何要用 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');

?>

所以,以后遇到类似这郁闷的函数,就要考虑是不是变量数据类型问题了。

折腾玩(完)。

--结束END--

本文标题: WordPress中函数get_term_link的参数设置问题

本文链接: https://www.lsjlt.com/news/32003.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作