I’m trying to get a list of wpsc_product_category terms, for a given category, and have them display in alphabetical order (by name) with links to their pages.
This gives me the right list, but the sort() doesn’t work. The terms aren’t in alphabetical order. Any help would be greatly appreciated!
<?php
//display sorted list of wpsc product categories
$category_id = 10;
$terms = get_terms('wpsc_product_category','hide_empty=0&parent='.$category_id);
sort($terms);
if ($terms) {
foreach($terms as $term) {
?>
<div>
<div class="caption transparent_class">
<a href="<?php get_term_link( $term->slug, 'wpsc_product_category'); ?>" class="wpsc_category_link"><?php echo $term->name; ?></a>
<?php if(get_option('wpsc_category_description')) :?>
<?php echo '<div class="wpsc_subcategory">'.$term->description.'</div>'; ?>
<?php endif;?>
</div>
</div>
<?php
}
}
?>
This code works! Sorts by category name (visible name), produces a list of links of categories (that aren’t empty) that are children of category_id.
The default sort order for
get_terms
is byname
. That should give you an alphabetical order. Yoursort
is what is breaking that order. Your code should work if you just remove thatsort
.