我正在使用User-Submitted-Posts插件,以便让用户将他们的图像提交到我的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 :(得分:1)
我实际上无法尝试这个,而且我不知道你的插件是如何工作的...但是我想到的最简单的解决方案就是做2个foreach循环。这将在您的&lt; select&gt;&lt; / select&gt;内:
<?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>";
?>
希望它有效/帮助