WordPress에서 현재 분류 ​​용어 ID를 얻으려면 어떻게해야합니까?


120

WordPress 테마 폴더에 taxonomy.php 페이지를 만들었습니다. 함수에 대한 현재 용어 ID를 얻고 싶습니다. 어떻게 얻을 수 있습니까?

get_query_var('taxonomy') 슬러그라는 용어 만 반환합니다. ID를 원합니다.

답변:


304

신경 쓰지 마! 찾았어요 :)

get_queried_object()->term_id;

4
큰! 이것은 저에게 많은 시간을 절약했습니다. : D
MavBzh 2013

대단히 감사합니다!
Anahit Ghazaryan 2015 년

26
get_queried_object_id()ID 만 검색 하는 데 사용할 수도 있습니다 . 전체 조각이 될 것이다$term_id = get_queried_object_id();
데이비드

좋은 대답입니다. 최근에 WordPress 스택 교환에 질문이 있습니다. 확인 부탁드립니다. wordpress.stackexchange.com/questions/214453/…

대단히 감사합니다
FaISalBLiNK

42

간단하고 쉽습니다!

get_queried_object_id()

3
get_queried_object_id () 는 3.1.0 (2011 년 2 월 23 일 ) 에 도입되었으며 질문에 대한 정답이어야합니다. > taxonomy.php내 워드 프레스 템플릿 폴더의 페이지에서 term id함수에 대한 현재 정보를 얻고 싶습니다 .
Pea

1
예,이 대답은 완벽했다
Gendrith

39

필요한 전체 코드 스 니펫은 다음과 같습니다.

$queried_object = get_queried_object();
$term_id = $queried_object->term_id;

14

코드 아래에 붙여 넣기 만하면됩니다!

현재 분류 ​​이름과 설명이 인쇄됩니다 (선택 사항).

<?php 
   $tax = $wp_query->get_queried_object();
   echo ''. $tax->name . '';
   echo "<br>";
   echo ''. $tax->description .''; 
?>

11

분류 페이지에있는 경우.

이것이 분류에 대한 모든 세부 정보를 얻는 방법입니다.

get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) );

분류 ID를 얻는 방법입니다.

$termId = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) )->term_id;

하지만 게시물 페이지에있는 경우 (분류-> 하위)

$terms = wp_get_object_terms( get_queried_object_id(), 'taxonomy-name');
$term_id = $terms[0]->term_id;

7
<?php 
$terms = get_the_terms( $post->ID, 'taxonomy');
foreach ( $terms as $term ) {
    $termID[] = $term->term_id;
}
echo $termID[0]; 
?>


1

원하는 슬러그라는 용어입니다. 필요한 경우 다음과 같은 ID를 얻을 수 있습니다.

function get_term_link( $term, $taxonomy = '' ) {
    global $wp_rewrite;

    if ( !is_object($term) ) {
        if ( is_int( $term ) ) {
            $term = get_term( $term, $taxonomy );
        } else {
            $term = get_term_by( 'slug', $term, $taxonomy );
        }
    }
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.