첫 번째 게시물 용어를 가져옵니다


10

맞춤 게시물 유형의 첫 번째 용어 만 얻는 방법
나는 모든 것을 얻을 수 있습니다-문제 없습니다. 이것이 내가 그들 모두를 잡기 위해 사용하는 것

<?php foreach ($terms as $term) {echo '<a href="'.get_term_link($term->slug, 'sitecat').'">'.$term->name.'</a>,';} ?> >> <a href="<?php the_permalink(); ?>"><?php the_title('', ''); ?></a></h2></span>

내 코드를 사용하여 답변을 주셔서 감사하지만 도움을 가장 환영합니다

답변:


23

'첫 번째'분류법이 무엇을 의미하는지 잘 모르겠지만 ...

$terms = get_the_terms( $post->ID, 'mytaxonomy' );

분류 용어 개체의 배열을 반환하므로

$term = array_pop($terms);

배열의 첫 번째 용어를 알려줍니다. 그리고:

echo '<a href="'.get_term_link($term->slug, 'mytaxonomy').'">'.$term->name.'</a>,'

(빈 배열이나 오류가 반환되는 경우 if 문을 포함시킬 수 있습니다 (참조 is_wp_error)


오류 : 캐치 가능한 치명적 오류 : WP_Error 클래스의 오브젝트를 /home/content/14/6469114/html/wp-content/themes/sagive/single-website.php의 문자열로 변환 할 수 없습니다. 40
Sagive SEO 2012 년

40 행 : <? php $ terms = get_the_terms ($ post-> ID, 'sitecat'); array_pop ($ terms); echo '<a href="'.get_term_link($term-> slug,'sitecat ').' "> '. $ term-> 이름.'</a> '; ?>
Sagive SEO 2012 년

알았어 .. 오류는 내 편이 아니었다-당신의 대답이 아닙니다;) 많은 친구에게 감사드립니다
Sagive SEO 2011

4

PHP 5.4 부터는 배열을 직접 역 참조 할 수 있으므로 첫 번째 용어를 얻으려면 간단히 할 수 있습니다.

$first_term = get_the_terms( $post->ID, 'TAXONOMY_NAME' )[0];
var_dump( $first_term );

첫 번째 용어 의 특정 속성 ( 예 : 용어 이름 )이 필요한 경우 다음을 수행 할 수 있습니다.

$first_term_name = get_the_terms( $post->ID, 'TAXONOMY_NAME' )[0]->name;
var_dump( $first_term_name );

편집하다

WP_Error분류법이 유효하지 않은 경우 객체 를 가져 오기 때문에 단점이 있습니다. 또한 반환 된 배열이 비어 있으면 정의되지 않은 배열 키 경고도 표시되므로주의해서 사용하십시오.


0

그것은 나를 위해 일했다. 앵커가 아닌 첫 번째 범주 만 텍스트로 가져옵니다.

$terms = get_the_terms( $post->ID , 'your_custom_taxonomy' ); 
foreach( $terms as $term ) { 
    print $term->name;
    break;
    unset($term);
}

1
"당신을 위해 일한 것"은 무엇입니까? 참고 사항 : break;은 실제로 진술을 중지하며, unset트리거되지 않으며 첫 번째 항목 만 처리됩니다.
kaiser

unset( $term );해야 귀하의 foreach루프, 그리고 내부 :-) 그
피터 구센

0

객체 키에 직접 액세스하는 방법은 무엇입니까?

$terms = get_the_terms( $post->ID, 'sitecat' );
$first_term = $terms[0];

개체에 액세스 할 수 있습니다.

echo $first_term->name;
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.