Home > CMS Tutorial > WordPress > body text

How to set parameters of function get_term_link in WordPress

藏色散人
Release: 2020-01-11 09:45:22
Original
3195 people have browsed it

How to set parameters of function get_term_link in WordPress

#How to set the parameters of the get_term_link function in WordPress?

The parameter setting problem of the function get_term_link in WordPress

Recommended: "wordpress tutorial"

Recently helped someone A friend writes a corporate theme and needs to set a special post type called product for the product. For the convenience of management, I set a special category type and tag type for the product. The category type is product_cat (WordPress's own category type is category ).

Why use get_term_link?:

New types of categories cannot be used To output the category link address, you need to use get_term_link() function, the usage of this function is as follows:

<?php get_term_link( $term, $taxonomy ); ?>
Copy after login

For specific reference, please refer to WordPress Codex: http://codex.wordpress.org/Function_Reference/get_term_link

Question:

Example:

- The variable of the custom category ID is $term. $term is changed according to the background settings. For convenience of explanation, it is assumed that the background parameter is $custom_term = 8

- I want to get the category link address of the custom category ID $term. According to the official instructions, it should be:

<?php 
$term = $custom_term; 
echo get_term_link( $term, &#39;product_cat&#39;); 
?>
Copy after login

It seems correct, but here comes the problem. This will return an error:

Catchable fatal error: Object of class WP_Error could not be converted to string in.. That's right, if you directly use echo $term; the output result is indeed 8, which is depressing...

But if you directly do this:

<?php echo get_term_link( 8, &#39;product_cat&#39;); ?>
Copy after login

it will work normally again.

Solution:

When I was playing around in the WordPress Codex, I accidentally saw that a foreign friend also encountered this problem, and then he solved it himself, and he had an epiphany... Portal 》

It turns out that it is a variable type problem. This get_term_link function is different from other commonly used WordPress functions. It will not convert the variable type by itself. You have to convert the character class into an integer before it can work properly. What a great Orz function!

The following will work normally:

(Bolo sitting on the sofa notes: intval($term, 10) will be better, otherwise there will be errors when the $term value is too large System conversion problem, or use (int)$term)

<?php 
$term = $custom_term; 
echo get_term_link( intval($term), &#39;product_cat&#39;); 
?>
Copy after login

So, if you encounter a depressing function like this in the future, you must consider whether it is a problem with the variable data type.

Tossing and playing (end).

The above is the detailed content of How to set parameters of function get_term_link in WordPress. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template