2011-12-21 2 views
0

사용자가 내 WordPress 사이트에 이미지를 제출할 수 있도록 사용자 제출 게시물 플러그인을 사용하고 있습니다. 각 이미지는 카테고리 내에 업로드됩니다. 카테고리는 WordPress 관리 영역에서 설정되며 다음 코드를 사용하여 제출 양식으로 가져옵니다.Wordpress 정렬 카테고리 드롭 다운 목록?

유일한 문제는이 웹 양식이 알파벳순이 아닌 카테고리 ID 순으로 카테고리를 가져 오는 것입니다. 따라서 문자를 A로 시작하는 경우에도 범주를 추가하면 맨 아래에 나타납니다.

누구든지 ASC 알파벳순으로 모든 범주 목록을 만들기 위해 다음 코드를 편집하는 방법을 알려주십시오.

<li class="usp_category"> 
       <label for="user-submitted-category" class="usp_label"><?php _e('Categories'); ?></label> 
       <div> 
        <select class="usp_select" name="user-submitted-category" id="user-submitted-category"> 

         <?php foreach($settings['categories'] as $categoryId) { $category = get_category($categoryId); if(!$category) { continue; } ?> 
         <option class="usp_option" value="<?php echo $categoryId;?> "><?php $category = get_category($categoryId); echo htmlentities($category->name); ?></option> 
         <?php } ?> 
        </select> 
       </div> 
      </li> 
+0

방법 $ 설정 [ '범주'] 채워지있어 도움/작동 희망? 이 시점보다 많은 데이터가 채워지면이를 분류하는 것이 더 쉬운 것처럼 보입니다. – Hobo

+0

echo "

"; print_r($settings['categories']); echo "
"; 먼저 구조를 봅니다. 변수 자체는 정렬 방법을 보여주지 않습니다. –

+0

아마도 $ settings 배열을 만들고 거기에 정렬하는 코드로 가야 할 것입니다. –

답변

1

는 사실이 시도 할 수없는, 그리고 난 당신의 플러그인이 작동하는 방법에는 ideea의 ...하지만 내 마음이 개 foreach는 루프를하는 것입니다에 오는 가장 쉬운 해결책이 없다. 이 내부 될 것이다 당신의 < > <이/>를 선택 선택 :

<?php 
    $cats = array(); 
    // get what you need in an array 
    foreach($settings['categories'] as $catid) { 
     $cat = get_category($catid); 
     if(is_object($cat)) $cats[$catid] = $cat->name; // why htmlentities() ? 
    } 
    // sort by name 
    asort($cats); 
    foreach($cats as $catid => $catname) 
     echo "<option class=\"usp_option\" value=\"{$catid}\">{$catname}</option>"; 
    ?> 

그것이