wpsc\\u start\\u category\\u query()函数基本上调用用于进行WP查询的本机WP get\\u terms()函数:
$category\\u list=get\\u terms(\'wpsc\\u product\\u category\',\'hide\\u empty=0&parent=\'。$category\\u id);
由于WPEC使用自定义的post类型,您可以轻松地构建自己的查询,这里使用http://codex.wordpress.org/Function_Reference/get_terms
但是get\\u terms()不做随机操作,因此必须将它们全部获取,然后将数组随机排列,然后输出前4个(设置为$max的任何数字)。因此,调整布局代码应该是:
<ul>
<?php
//display random sorted list of wpsc product categories
$counter = 0;
$max = 4; //number of categories to display
$terms = get_terms(\'wpsc_product_category\');
shuffle ($terms); //makes list random
if ($terms) {
foreach($terms as $term) {
$counter++;
if ($counter <= $max) { ?>
<li>
<div>
<div class="image"><img src="<?php echo wpsc_category_image($term->term_id); ?>" width="<?php echo get_option(\'category_image_width\'); ?>" height="<?php echo get_option(\'category_image_height\'); ?>" /></div>
<div class="caption-title transparent_class">
<?php echo $term->name; ?>
</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>
</li>
<?php }
}
}
?>
</ul>
我已经测试了代码,并按照所描述的方式工作。