>  기사  >  CMS 튜토리얼  >  WordPress에서 get_term_link 함수의 매개변수를 설정하는 방법

WordPress에서 get_term_link 함수의 매개변수를 설정하는 방법

藏色散人
藏色散人원래의
2020-01-11 09:45:223204검색

WordPress에서 get_term_link 함수의 매개변수를 설정하는 방법

WordPress에서 get_term_link 함수의 매개변수를 설정하는 방법은 무엇입니까?

WordPress

권장: "wordpress tutorial"

최근에 친구가 기업 테마 작성을 도와주었는데, 관리용으로 product라는 특별한 게시물 유형을 설정해야 했습니다. 편의상 제품에 대한 특별한 카테고리 유형과 태그 유형을 설정했습니다. 카테고리 유형은 product_cat입니다(워드프레스 자체의 카테고리 유형은 카테고리입니다).

get_term_link를 사용하는 이유:

새로운 유형의 카테고리는 사용할 수 없습니다8be7b7802875d8a60c697d966db9f806 카테고리 링크 주소를 출력하려면 get_term_link() 함수를 사용해야 합니다. 이 함수는 다음과 같습니다.

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

구체적인 참조는 WordPress Codex를 참조하세요: http://codex.wordpress.org/Function_Reference/get_term_link

질문:

예:

- 사용자 정의 카테고리 ID의 변수 $term은 $term이고, $term은 백그라운드 설정을 기준으로 하며 편의상 background 파라메타는 $custom_term = 8이라고 가정합니다.

- 커스텀 카테고리 ID $term의 카테고리 링크 주소를 얻고 싶어서, 공식 지침에 따르면 다음과 같아야 합니다.

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

맞는 것 같지만 문제가 발생하면 다음과 같은 오류가 반환됩니다.

Catchable fatal error: WP_Error 클래스의 개체를 문자열로 변환할 수 없습니다.. 맞습니다. echo $term을 직접 사용하면 출력 결과가 실제로 8이 되는데...

하지만 직접 이렇게 하면

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

다시 정상적으로 작동합니다.

해결책:

워드프레스 코덱스에서 놀다가 우연히 외국인 친구도 이런 문제가 발생하는 것을 보고 스스로 해결했는데 갑자기 깨달았습니다... Portal》

알고보니 변수 유형 문제입니다. 이것은 get_term_link 함수입니다. 일반적으로 사용되는 WordPress 함수와 달리 변수 유형을 자체적으로 변환하지 않습니다. 문자 클래스를 정수로 변환해야 제대로 작동합니다. !

다음은 정상적으로 작동합니다:

(소파에 앉아 있는 Bolo 참고 사항: intval($term, 10)이 더 좋을 것입니다. 그렇지 않으면 $term 값이 너무 클 때 16진수 변환 문제가 발생하거나 ( int)를 사용합니다. $term)

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

그래서 앞으로 이런 우울한 함수를 만나게 된다면 변수 데이터형에 문제가 있는 것은 아닌지 생각해 보아야 합니다.

뒤치고 놀기(완료).

위 내용은 WordPress에서 get_term_link 함수의 매개변수를 설정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.