게시물 유형의 모든 분류를 얻는 방법?


45

게시물 유형의 분류를 어떻게 얻을 수 있습니까?

게시물 유형이 event있고 해당 게시물 유형에 첨부 된 분류 목록을 찾아야하는 경우 어떻게 찾습니까?

답변:


36

얘들 아, 내가 알 것 같아! WordPress의 taxonomy.php 파일에서 몇 가지 기능을 살펴본 후 get_object_taxonomies();트릭을 수행 한이 기능 을 발견했습니다. :)

기능은 다음과 같습니다

function get_post_taxonomies($post) {
    // Passing an object
    // Why another var?? $output = 'objects'; // name / objects
    $taxonomies = get_object_taxonomies($post, 'objects');

    /*// Passing a string using get_post_type: return (string) post, page, custom...
    $post_type  = get_post_type($post);
    $taxonomies = get_object_taxonomies($post_type, 'objects');*/

    /*// In the loop with the ID
    $theID      = get_the_ID();
    $post_type  = get_post_type($theID);
    $taxonomies = get_object_taxonomies($post_type, 'objects');*/

    // You can also use the global $post

    // edited to fix previous error $taxonomies
    // edited to force type hinting array
    return (array) $taxonomies; // returning array of taxonomies
}

2
자세한 내용은 다음을 참조하십시오 : codex.wordpress.org/Function_Reference/get_object_taxonomies
Manny Fleurmond

와우 ... get_object_taxonomies ()에 대해 알아두면 좋습니다. 그냥 나에게 납치 template_redirect 도움
helgatheviking

감사합니다. NAME 대신 ID로 주문하는 방법은 무엇입니까?
dh47

가장 쉬운 방법은 foror foreach루프를 사용하여 정렬하는 것 입니다.
Sisir

예 foreach 루프를 사용하여 가져 오는 $taxonomies = get_object_taxonomies( array( 'post_type' => $post_type ) ); foreach( $taxonomies as $taxonomy ) : // Gets every "category" (term) in this taxonomy to get the respective posts $terms = get_terms( $taxonomy ); ?> <ul class="specials"><?php foreach( $terms as $term ) : ?> <li><h2 ><?php echo $term->name; ?></h2>
중이지만

9

get_categories 가 작업을 수행합니다.

get_categories('taxonomy=taxonomy_name&type=custom_post_type'); 

(질문을 제대로 이해했다면 생각합니다!)
lovely21

3
내가 분류법 이름을 가지고 있지 않다는 것은 내가 알고 싶은 것입니다. 게시물 유형의 이름 만 있습니다. 게시물 유형 이름으로 첨부 된 모든 분류를 찾고 싶습니다. 어쨌든 고마워!
Sisir

1

당신은 아무것도 시도 했습니까? 이 같은?

<?php 

$args=array(
  'object_type' => array('event') 
); 

$output = 'names'; // or objects
$operator = 'and'; // 'and' or 'or'
$taxonomies=get_taxonomies($args,$output,$operator); 
if  ($taxonomies) {
  foreach ($taxonomies  as $taxonomy ) {
    echo '<p>'. $taxonomy. '</p>';
  }
}
?>

1
get_taxonomies();코덱 에서 함수를 보았지만 문서가 매우 좋지 않고 게시물 유형을 전달할 수있는 방법을 모릅니다.
Sisir

죄송합니다.이 코드는 등록 된 모든 분류 체계를 워드 프레스로 반환합니다.
Sisir
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.