0

ユーザーが自分の画像をWordPressサイトに送信できるようにするために、User-Submitted-Postsプラグインを使用しています。各画像はカテゴリ内にアップロードされます。カテゴリはワードプレスの管理エリアで設定され、次のコードを使用して送信フォームに取り込まれます。

私の唯一の問題は、このWebフォームが、アルファベット順ではなく、カテゴリ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>
4

1 に答える 1

1

私は実際にこれを試すことはできず、プラグインがどのように機能するかについてのアイデアはありません...しかし、私の頭に浮かぶ最も簡単な解決策は、2つのforeachループを実行することです。これは<select></select>内にあります:

    <?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>";
    ?>

それが機能する/役立つことを願っています

于 2012-01-26T17:19:25.810 に答える