2016-11-06 4 views
0

I이 사용자 정의 분류에 대한 슬러그 찾을해야 워드 프레스 루프 내부에 다음 코드를 내 디버그, 그러나오류 "가 아닌 개체의 속성을 얻으려고 노력"

$bands_array = get_the_terms($post->ID, 'tcu_song_bands'); 
$bands = ''; 

foreach((array)$bands_array as $band) { 
    $bands .= "band-" . $band->slug . " "; 
} 

을 .log 나는 "비 객체의 속성을 얻으려고 시도 중"이라는 오류 메시지가 나타납니다 (그러나 코드는 작동하지만 오류를 해결하려고합니다). 누구든지 맞춤 분류 체계의 슬러그를 얻기위한 다른 방법을 제안 할 수 있습니까? 여기

는 인 print_r ($ 밴드)를 사용할 때 나는

WP_Term Object ([term_id] => 15 [name] => 5-piece [slug] => 5-piece [term_group] => 0 [term_taxonomy_id] => 15 [taxonomy] => tcu_song_bands [description] => [parent] => 0 [count] => 165 [filter] => raw) 
+0

어떤 라인에 오류가 있습니까? 각 반복마다 '$ band'의 가치를 확인 했습니까? –

+0

@u_mulder 아, 죄송합니다. foreach 문구에 나와 있습니다 ($ band-> slug 관련). 각 반복마다 $ band의 값을 확인하려면 어떻게합니까? –

+1

'echo'? 'var_dump'로? 'print_r'으로? 디버깅이 무엇인지 아십니까? –

답변

0

get_the_terms는 오류 상태가 발생할 수 있습니다 하나의 결과를 얻을 것입니다. 이 함수의 반환 가능성이 중요합니다.

(배열 | false | WP_Error) 성공시 WP_Term 객체의 배열, 조건이 없거나 게시물이없는 경우 false, 실패시 WP_Error입니다.

가시성을 잃어 버리므로 귀찮게하지 마십시오.

$bands_array = get_the_terms($post->ID, 'tcu_song_bands'); 
$bands = ''; 

if (is_array($bands_array)) { 
    foreach($bands_array as $band) { 
     // only interested in bands with a slug 
     if (isset($band->slug)) { 
      $bands .= "band-" . $band->slug . " "; 
     } 
    } 
} 
// else log error if it returned a WP_Error, etc. 
+0

스팟이 켜져 있습니다. –

관련 문제