Раскрывающийся список категорий сортировки Wordpress? - PullRequest
0 голосов
/ 21 декабря 2011

Я использую плагин User-Submitted-Posts, чтобы пользователи могли отправлять свои изображения на мой WordPress сайт.Каждое изображение загружается в категории.Категории устанавливаются в области администрирования WordPress и вводятся в форму отправки с использованием следующего кода.

Моя единственная проблема в том, что эта веб-форма перетаскивает категории через упорядоченные по их идентификатору категории не в алфавитном порядке.Поэтому, когда я добавляю категорию, даже если она начинается с буквы А, она появится внизу.

Может кто-нибудь дать мне знать, как отредактировать следующий код, чтобы сделать список всех категорий в алфавитном порядке 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>

1 Ответ

1 голос
/ 26 января 2012

На самом деле я не могу попробовать это, и я не имею ни малейшего представления, как работает ваш плагин ... но самое простое решение, которое приходит мне в голову, - это сделать 2 цикла 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>";
    ?>

надеюсь, что это работает / помогает

...