2013-11-26 2 views
0

이 함수는 사용자 정의 분류 자식 카테고리에서만 선택 메뉴를 만듭니다.ID에서 맞춤 분류 학년 상위 카테고리 이름을 얻는 방법은 무엇입니까?

function cityDropdown($dropID, $taxonomy, $exclude) { 

    $catArgs = array(
    'orderby'     => 'name', 
    'order'     => 'ASC', 
    'hide_empty'    => 0, 
    'hierarchical'    => 1, 
    'exclude'     => $exclude, 
    'taxonomy'     => $taxonomy, 
    'pad_counts'    => false); 




    $categories = get_categories($catArgs); 

    $menu = '<select name="cityDropdown" id="'.$dropID.'">'; 
    $menu .= '<option value="">(City)</option>'; 

    foreach($categories as $category) 
    { 


     if($category->parent != 0) { 

      $parent = $category->category_parent; 

      $menu .= '<option class="'.$parent.'" value="'.$category->name.'" name="'.$category->name.'">'.$category->name.'</option>'; 
     } 
    } 
    $menu .= '</select>'; 
    echo $menu; 

} 

그것은 한 가지를 제외하고 잘 작동 :

$parent = $category->category_parent; 

나에게 시원하고 모든이며, 그것이 내가해야 할 일을 위해 일하는 상위 카테고리의 ID를 제공하지만, 그것을 ID 대신 상위 카테고리의 이름을 줄 수 있다면 훨씬 더 좋을 것입니다.

나는 아무 것도하지 않은 single_term_title($parent)을 시도했지만, 나는 또한 single_cat_title($parent)을 시도했지만 그 역시 공백으로 반환됩니다.

+1

알아 냈습니다 : $ parentID = $ category-> category_parent; $ parentTerm = get_term ($ parentID, $ taxonomy); $ parentName = $ parentTerm-> name; –

+0

나를 때려 눕힌다. – jonahs

답변

0

거의 다 왔어. 사용자 정의 분류 기간에 대한 데이터의 전체 배열을 반환하려면 시도 :

$parent = get_term($category->category_parent, $taxonomy); 

지금, 당신은 $parent->name, $parent->slug$parent->description 포함하는 용어 배열에 액세스 할 수 있습니다.

2

시도 $parent_term = get_term($parent,'category'). 그리고 나서 $parent_term->name, 비록 당신이 수업을 토대로한다면, ->name이 공백을 줄 수 있고 CSS 클래스 이름에 바람직하지 않지만 실제로는 옵션 태그에 클래스를 줄 수 없기 때문에 (예 : 아래 참조 참조). 추가

는 :

<option> 태그 정말 http://www.w3schools.com/tags/tag_option.asp에 따라 name 속성이 없습니다. name 대신 id을 입력하십시오.

또한 동적으로 생성 된 옵션을 사용할 때 배열 인덱스 또는 변수 이름으로 사용하고자하는 id로 value 속성을 생각하려고합니다. 그래서 정수인지 신뢰할 수 있는지 확인하고 싶습니다. 공간이 부족한 텍스트 ID. WP 분류법의 경우, $ category-> term_id 또는 $ category-> slug를 값으로 사용하고 내부 HTML에 대해서는 $ category-> name을 사용하는 것이 좋습니다.

+0

분명히'color'와'background-color' 옵션을 줄 수 있고'class' 속성을 할당함으로써 할 수 있습니다. 그러나 나는 그것이 가능한 한 멀리 갈 수 있다고 생각합니다. – flcoder

관련 문제