Ask your WordPress questions! Pay money and get answers fast! Comodo Trusted Site Seal
Official PayPal Seal

Get WP E-Commerce to Show Sub-Categories on Parent Category Pages WordPress

  • SOLVED

My WordPress website at http://www.wholesalerestaurantequipment.ca is running WordPress and WP E-Commerce plugin for an online catalogue of products. Currently, when you are on a 'Parent' category (ie. Refrigeration) all products show, even though there are subcategories (ie. Deli Cases, Walk-in Coolers, etc.)

I want the WP E-Commerce Category pages to display the subcategories instead of the products on pages that have sub-categories (but still have the products show as they do when you click on the subcategories)

Here is the code snippet I found online that is supposed to accomplish the functionality I want. Just not sure where it is to be pasted into the wpsc-grid_view.php file....? FYI as well, I am using the 'gold cart' to accomplish grid view layout currently.

< ?php
global $wp_query;
?>
<div id="grid_view_products_page_container">
< ?php echo do_shortcode('[raw]'); ?> // I'll explain this in another post. This is DEFINITELY the best way I've found to do this!!
< ?php wpsc_output_breadcrumbs(); ?>

< ?php do_action('wpsc_top_of_products_page'); // Plugin hook for adding things to the top of the products page, like the live search ?>
<div class="product_grid_display group">
< ?php if(wpsc_display_categories()): ?>
< ?php if(get_option('wpsc_category_grid_view') == 1) :?>
<div class="wpsc_categories wpsc_category_grid group">
< ?php $category_id = wpsc_category_id();
$getsubs = "SELECT term_id FROM wp_term_taxonomy WHERE taxonomy = 'wpsc_product_category' AND parent = '".$category_id."'";
$subcats = mysql_query($getsubs); //this gets the ids of the subcategories
$num_subcats = mysql_num_rows($subcats); //this is a count of how many subcategories the current category has

while ($row = mysql_fetch_row($subcats)) {
foreach ($row as $subcat)
$catname = wpsc_category_name($subcat); // Gets the category name for use below
$catimage = wpsc_category_image($subcat); // Gets the URL of the category image
$catlink = get_term_link((int)$subcat, 'wpsc_product_category'); // Gets the link URL to the category page

if ($category_id >= 0 || $category_id != '') { ?>
<a href="<?php echo $catlink; ?>" class="wpsc_category_grid_item" title="< ?php echo $catname; ?>">
< ?php
// Here I did something a little different. I wanted to be able to display the category
// title whether there is a category image or not. I made the category image the background
// of a div and superimposed the title over it. No category image means the url for the
// background property is empty. It's janky, but it won't break anything.
?>
<div class="cat_image" style="background:url('<?php echo $catimage; ?>') top center no-repeat; background-size: < ?php echo get_option('category_image_width'); ?>px < ?php echo get_option('category_image_height'); ?>px;width:< ?php echo get_option('category_image_width'); ?>px;height:< ?php echo get_option('category_image_height'); ?>px">
< ?php if ($category_id != 0 || $category_id != '') { ?>
<h4 style="z-index:200;color:#C00"><span>< ?php echo $catname; ?></span></h4>
< ?php } ?>
</div>
</a>
< ?php
}
} ?>
</div>
</div><!--close wpsc_categories BC-->
</div>


and here is my current wpsc-grid_view.php file that is the template for these grid-view category pages:
<?php
global $wp_query;
$image_width = get_option('product_image_width');
$image_height = get_option('product_image_height');
?>
<div id="grid_view_products_page_container">
<?php wpsc_output_breadcrumbs(); ?>

<?php do_action('wpsc_top_of_products_page'); // Plugin hook for adding things to the top of the products page, like the live search ?>

<?php if(wpsc_display_categories()): ?>
<?php if(get_option('wpsc_category_grid_view') == 1) :?>
<div class="wpsc_categories wpsc_category_grid group">
<?php wpsc_start_category_query(array('category_group'=> 1, 'show_thumbnails'=> 1)); ?>
<a href="<?php wpsc_print_category_url();?>" class="wpsc_category_grid_item <?php wpsc_print_category_classes_section(); ?>" title="<?php wpsc_print_category_name();?>">
<?php wpsc_print_category_image(45, 45); ?>
</a>
<?php wpsc_print_subcategory("", ""); ?>
<?php wpsc_end_category_query(); ?>

</div><!--close wpsc_categories-->
<?php else:?>
<ul class="wpsc_categories">
<?php wpsc_start_category_query(array('category_group'=> 1, 'show_thumbnails'=> get_option('show_category_thumbnails'))); ?>
<li>
<?php wpsc_print_category_image(32, 32); ?>

<a href="<?php wpsc_print_category_url();?>" class="wpsc_category_link <?php wpsc_print_category_classes_section(); ?>"><?php wpsc_print_category_name();?></a>
<?php if(get_option('wpsc_category_description')) :?>
<?php wpsc_print_category_description("<div class='wpsc_subcategory'>", "</div>"); ?>
<?php endif;?>

<?php wpsc_print_subcategory("<ul>", "</ul>"); ?>
</li>
<?php wpsc_end_category_query(); ?>
</ul>
<?php endif; ?>
<?php endif; ?>

<?php if(wpsc_display_products()): ?>
<?php if(wpsc_is_in_category()) : ?>
<div class="wpsc_category_details">
<?php if(get_option('show_category_thumbnails') && wpsc_category_image()) : ?>
<img src="<?php echo wpsc_category_image(); ?>" alt="<?php echo wpsc_category_name(); ?>" title="<?php echo wpsc_category_name(); ?>" />
<?php endif; ?>

<?php if(get_option('wpsc_category_description') && wpsc_category_description()) : ?>
<?php echo wpsc_category_description(); ?>
<?php endif; ?>
</div><!--close wpsc_category_details-->
<?php endif; ?>


<?php if(wpsc_has_pages_top()) : ?>
<div class="wpsc_page_numbers_top group">
<?php wpsc_pagination(); ?>
</div><!--close wpsc_page_numbers_top-->
<?php endif; ?>


<div class="product_grid_display group">
<?php while (wpsc_have_products()) : wpsc_the_product(); ?>
<div class="product_grid_item product_view_<?php echo wpsc_the_product_id(); ?>">

<?php if( wpsc_the_product_thumbnail() ) :?>
<div class="item_image">
<a href="<?php echo wpsc_the_product_permalink(); ?>">
<img style="width:<?php echo get_option('product_image_width'); ?>px;height:<?php echo get_option('product_image_height'); ?>px" class="product_image" id="product_image_<?php echo wpsc_the_product_id(); ?>" alt="<?php echo wpsc_the_product_title(); ?>" src="<?php echo wpsc_the_product_thumbnail(); ?>" />
</a>
</div><!--close item_image-->
<?php else: ?>
<div class="item_no_image">
<a href="<?php echo wpsc_the_product_permalink(); ?>">
<img class="no-image" id="product_image_<?php echo wpsc_the_product_id(); ?>" alt="No Image" title="<?php echo wpsc_the_product_title(); ?>" src="<?php echo WPSC_CORE_THEME_URL; ?>wpsc-images/noimage.png" width="<?php echo get_option('product_image_width'); ?>" height="<?php echo get_option('product_image_height'); ?>" />
</a>
</div><!--close item_no_image-->
<?php endif; ?>

<?php if( wpsc_product_on_special() ) : ?><span class="sale"><?php _e( 'Sale', 'it-l10n-BuilderChild-Market' ); ?></span><?php endif; ?>
<?php if( get_option( 'show_images_only' ) != 1 ): ?>
<div class="grid_product_info">
<h2 class="prodtitle"><?php echo wpsc_the_product_title(); ?></h2>
<?php if( ( wpsc_the_product_description() != '' ) && ( get_option('display_description' ) == 1 ) ): ?>
<div class="grid_description"><?php echo wpsc_the_product_description(); ?></div>
<?php endif; ?>
<div class="price_container">
<?php $noprice = wpsc_the_product_price();
if ($noprice=='$0.00') { ?>
<span class="black-button">Call for Pricing</span>
<?php } else { ?><a href="<?php echo wpsc_the_product_permalink(); ?>"><span class="pricedisplay black-button" id='product_price_<?php echo wpsc_the_product_id(); ?>'><?php _e( 'Price', 'it-l10n-BuilderChild-Market' ); ?>: <?php echo wpsc_the_product_price(); ?></span></a><?php } ?>
</div><!--close price_container-->
<?php if(get_option('display_moredetails') == 1) : ?>
<a href="<?php echo wpsc_the_product_permalink(); ?>" class="more_details">more details</a>
<?php endif; ?>
</div><!--close grid_product_info-->
<div class="grid_more_info">
<form class="product_form" enctype="multipart/form-data" action="<?php echo wpsc_this_page_url(); ?>" method="post" name="product_<?php echo wpsc_the_product_id(); ?>" id="product_<?php echo wpsc_the_product_id(); ?>" >
<?php do_action ( 'wpsc_product_form_fields_begin' ); ?>
<input type="hidden" value="add_to_cart" name="wpsc_ajax_action"/>
<input type="hidden" value="<?php echo wpsc_the_product_id(); ?>" name="product_id"/>


<?php if(get_option('display_variations') == 1) : ?>
<?php /** the variation group HTML and loop */ ?>
<?php if (wpsc_have_variation_groups()) : ?>
<fieldset><legend><?php _e('Product Options', 'it-l10n-BuilderChild-Market'); ?></legend>
<div class="wpsc_variation_forms">
<table>
<?php while (wpsc_have_variation_groups()) : wpsc_the_variation_group(); ?>
<tr><td class="col1"><label for="<?php echo wpsc_vargrp_form_id(); ?>"><?php echo wpsc_the_vargrp_name(); ?>:</label></td>
<?php /** the variation HTML and loop */?>
<td class="col2"><select class="wpsc_select_variation" name="variation[<?php echo wpsc_vargrp_id(); ?>]" id="<?php echo wpsc_vargrp_form_id(); ?>">
<?php while (wpsc_have_variations()) : wpsc_the_variation(); ?>
<option value="<?php echo wpsc_the_variation_id(); ?>" <?php echo wpsc_the_variation_out_of_stock(); ?>><?php echo wpsc_the_variation_name(); ?></option>
<?php endwhile; ?>
</select></td></tr>
<?php endwhile; ?>
</table>
</div><!--close wpsc_variation_forms-->
</fieldset>
<?php /** the variation group HTML and loop ends here */?>
<?php endif; ?>
<?php endif ?>
<?php if((get_option('display_addtocart') == 1) && (get_option('addtocart_or_buynow') !='1')) :?>
<?php if(wpsc_product_has_stock()) : ?>
<input type="submit" value="<?php _e('Add To Cart', 'it-l10n-BuilderChild-Market'); ?>" name="Buy" class="wpsc_buy_button" id="product_<?php echo wpsc_the_product_id(); ?>_submit_button"/>
<?php else : ?>
<p class="soldout"><?php _e('Sorry, sold out!', 'it-l10n-BuilderChild-Market'); ?></p>
<?php endif ; ?>
<?php endif; ?>

<?php do_action ( 'wpsc_product_form_fields_end' ); ?>
</form>
</div><!--close grid_more_info-->

<?php if( ( get_option('display_addtocart') == 1 ) && ( get_option( 'addtocart_or_buynow' ) == '1' ) ) :?>
<?php echo wpsc_buy_now_button(wpsc_the_product_id()); ?>
<?php endif ; ?>

<?php endif; ?>
</div><!--close product_grid_item-->
<?php if((get_option('grid_number_per_row') > 0) && ((($wp_query->current_post +1) % get_option('grid_number_per_row')) == 0)) :?>
<div class="grid_view_clearboth"></div>
<?php endif ; ?>



<?php endwhile; ?>

<?php if(wpsc_product_count() == 0):?>
<p><?php _e('There are no products in this group.', 'it-l10n-BuilderChild-Market'); ?></p>
<?php endif ; ?>


</div><!--close product_grid_display-->

<?php if(wpsc_has_pages_bottom()) : ?>
<div class="wpsc_page_numbers_bottom group">
<?php wpsc_pagination(); ?>
</div><!--close wpsc_page_numbers_bottom-->
<?php endif; ?>
<?php endif; ?>

<?php do_action( 'wpsc_theme_footer' ); ?>

</div><!--close grid_view_products_page_container-->

Answers (4)

2014-02-26

Hariprasad Vijayan answers:

Hi Lisa,

Try this

<?php
global $wp_query;
$image_width = get_option('product_image_width');
$image_height = get_option('product_image_height');
?>
<?php
$category_id = wpsc_category_id();
$args = array( 'parent' => $category_id);
$categories = get_categories( $args );
if(!empty($categories)){
?>

<div id="grid_view_products_page_container"> <?php echo do_shortcode('[raw]'); ?>
<?php wpsc_output_breadcrumbs(); ?>
<?php do_action('wpsc_top_of_products_page'); // Plugin hook for adding things to the top of the products page, like the live search ?>
<div class="product_grid_display group">
<?php if(wpsc_display_categories()): ?>
<?php if(get_option('wpsc_category_grid_view') == 1) :?>
<div class="wpsc_categories wpsc_category_grid group">
<?php $category_id = wpsc_category_id();
$getsubs = "SELECT term_id FROM wp_term_taxonomy WHERE taxonomy = 'wpsc_product_category' AND parent = '".$category_id."'";
$subcats = mysql_query($getsubs); //this gets the ids of the subcategories
$num_subcats = mysql_num_rows($subcats); //this is a count of how many subcategories the current category has
while ($row = mysql_fetch_row($subcats)) {
foreach ($row as $subcat)
$catname = wpsc_category_name($subcat); // Gets the category name for use below
$catimage = wpsc_category_image($subcat); // Gets the URL of the category image
$catlink = get_term_link((int)$subcat, 'wpsc_product_category'); // Gets the link URL to the category page
if ($category_id >= 0 || $category_id != '') { ?>
<a href="<?php echo $catlink; ?>" class="wpsc_category_grid_item" title="<?php echo $catname; ?>">
<?php
// Here I did something a little different. I wanted to be able to display the category
// title whether there is a category image or not. I made the category image the background
// of a div and superimposed the title over it. No category image means the url for the
// background property is empty. It's janky, but it won't break anything.
?>
<div class="cat_image" style="background:url('<?php echo $catimage; ?>') top center no-repeat; background-size: <?php echo get_option('category_image_width'); ?>px <?php echo get_option('category_image_height'); ?>px;width:<?php echo get_option('category_image_width'); ?>px;height:<?php echo get_option('category_image_height'); ?>px">
<?php if ($category_id != 0 || $category_id != '') { ?>
<h4 style="z-index:200;color:#C00"><span><?php echo $catname; ?></span></h4>
<?php } ?>
</div>
</a>
<?php
}
} ?>
</div>
<?php endif; endif; ?>
</div>
<!--close wpsc_categories BC-->

</div>
<?php
} else {
?>
<div id="grid_view_products_page_container">
<?php wpsc_output_breadcrumbs(); ?>
<?php do_action('wpsc_top_of_products_page'); // Plugin hook for adding things to the top of the products page, like the live search ?>
<?php if(wpsc_display_categories()): ?>
<?php if(get_option('wpsc_category_grid_view') == 1) :?>
<div class="wpsc_categories wpsc_category_grid group">
<?php wpsc_start_category_query(array('category_group'=> 1, 'show_thumbnails'=> 1)); ?>
<a href="<?php wpsc_print_category_url();?>" class="wpsc_category_grid_item <?php wpsc_print_category_classes_section(); ?>" title="<?php wpsc_print_category_name();?>">
<?php wpsc_print_category_image(45, 45); ?>
</a>
<?php wpsc_print_subcategory("", ""); ?>
<?php wpsc_end_category_query(); ?>
</div>
<!--close wpsc_categories-->

<?php else:?>
<ul class="wpsc_categories">
<?php wpsc_start_category_query(array('category_group'=> 1, 'show_thumbnails'=> get_option('show_category_thumbnails'))); ?>
<li>
<?php wpsc_print_category_image(32, 32); ?>
<a href="<?php wpsc_print_category_url();?>" class="wpsc_category_link <?php wpsc_print_category_classes_section(); ?>">
<?php wpsc_print_category_name();?>
</a>
<?php if(get_option('wpsc_category_description')) :?>
<?php wpsc_print_category_description("<div class='wpsc_subcategory'>", "</div>"); ?>
<?php endif;?>
<?php wpsc_print_subcategory("<ul>", "</ul>"); ?>
</li>
<?php wpsc_end_category_query(); ?>
</ul>
<?php endif; ?>
<?php endif; ?>
<?php if(wpsc_display_products()): ?>
<?php if(wpsc_is_in_category()) : ?>
<div class="wpsc_category_details">
<?php if(get_option('show_category_thumbnails') && wpsc_category_image()) : ?>
<img src="<?php echo wpsc_category_image(); ?>" alt="<?php echo wpsc_category_name(); ?>" title="<?php echo wpsc_category_name(); ?>" />
<?php endif; ?>
<?php if(get_option('wpsc_category_description') && wpsc_category_description()) : ?>
<?php echo wpsc_category_description(); ?>
<?php endif; ?>
</div>
<!--close wpsc_category_details-->

<?php endif; ?>
<?php if(wpsc_has_pages_top()) : ?>
<div class="wpsc_page_numbers_top group">
<?php wpsc_pagination(); ?>
</div>
<!--close wpsc_page_numbers_top-->

<?php endif; ?>
<div class="product_grid_display group">
<?php while (wpsc_have_products()) : wpsc_the_product(); ?>
<div class="product_grid_item product_view_<?php echo wpsc_the_product_id(); ?>">
<?php if( wpsc_the_product_thumbnail() ) :?>
<div class="item_image"> <a href="<?php echo wpsc_the_product_permalink(); ?>"> <img style="width:<?php echo get_option('product_image_width'); ?>px;height:<?php echo get_option('product_image_height'); ?>px" class="product_image" id="product_image_<?php echo wpsc_the_product_id(); ?>" alt="<?php echo wpsc_the_product_title(); ?>" src="<?php echo wpsc_the_product_thumbnail(); ?>" /> </a> </div>
<!--close item_image-->

<?php else: ?>
<div class="item_no_image"> <a href="<?php echo wpsc_the_product_permalink(); ?>"> <img class="no-image" id="product_image_<?php echo wpsc_the_product_id(); ?>" alt="No Image" title="<?php echo wpsc_the_product_title(); ?>" src="<?php echo WPSC_CORE_THEME_URL; ?>wpsc-images/noimage.png" width="<?php echo get_option('product_image_width'); ?>" height="<?php echo get_option('product_image_height'); ?>" /> </a> </div>
<!--close item_no_image-->

<?php endif; ?>
<?php if( wpsc_product_on_special() ) : ?>
<span class="sale">
<?php _e( 'Sale', 'it-l10n-BuilderChild-Market' ); ?>
</span>
<?php endif; ?>
<?php if( get_option( 'show_images_only' ) != 1 ): ?>
<div class="grid_product_info">
<h2 class="prodtitle"><?php echo wpsc_the_product_title(); ?></h2>
<?php if( ( wpsc_the_product_description() != '' ) && ( get_option('display_description' ) == 1 ) ): ?>
<div class="grid_description"><?php echo wpsc_the_product_description(); ?></div>
<?php endif; ?>
<div class="price_container">
<?php $noprice = wpsc_the_product_price();

if ($noprice=='$0.00') { ?>
<span class="black-button">Call for Pricing</span>
<?php } else { ?>
<a href="<?php echo wpsc_the_product_permalink(); ?>"><span class="pricedisplay black-button" id='product_price_<?php echo wpsc_the_product_id(); ?>'>
<?php _e( 'Price', 'it-l10n-BuilderChild-Market' ); ?>
: <?php echo wpsc_the_product_price(); ?></span></a>
<?php } ?>
</div>
<!--close price_container-->

<?php if(get_option('display_moredetails') == 1) : ?>
<a href="<?php echo wpsc_the_product_permalink(); ?>" class="more_details">more details</a>
<?php endif; ?>
</div>
<!--close grid_product_info-->

<div class="grid_more_info">
<form class="product_form" enctype="multipart/form-data" action="<?php echo wpsc_this_page_url(); ?>" method="post" name="product_<?php echo wpsc_the_product_id(); ?>" id="product_<?php echo wpsc_the_product_id(); ?>" >
<?php do_action ( 'wpsc_product_form_fields_begin' ); ?>
<input type="hidden" value="add_to_cart" name="wpsc_ajax_action"/>
<input type="hidden" value="<?php echo wpsc_the_product_id(); ?>" name="product_id"/>
<?php if(get_option('display_variations') == 1) : ?>
<?php /** the variation group HTML and loop */ ?>
<?php if (wpsc_have_variation_groups()) : ?>
<fieldset>
<legend>
<?php _e('Product Options', 'it-l10n-BuilderChild-Market'); ?>
</legend>
<div class="wpsc_variation_forms">
<table>
<?php while (wpsc_have_variation_groups()) : wpsc_the_variation_group(); ?>
<tr>
<td class="col1"><label for="<?php echo wpsc_vargrp_form_id(); ?>"><?php echo wpsc_the_vargrp_name(); ?>:</label></td>
<?php /** the variation HTML and loop */?>
<td class="col2"><select class="wpsc_select_variation" name="variation[<?php echo wpsc_vargrp_id(); ?>]" id="<?php echo wpsc_vargrp_form_id(); ?>">
<?php while (wpsc_have_variations()) : wpsc_the_variation(); ?>
<option value="<?php echo wpsc_the_variation_id(); ?>" <?php echo wpsc_the_variation_out_of_stock(); ?>><?php echo wpsc_the_variation_name(); ?></option>
<?php endwhile; ?>
</select></td>
</tr>
<?php endwhile; ?>
</table>
</div>
<!--close wpsc_variation_forms-->

</fieldset>
<?php /** the variation group HTML and loop ends here */?>
<?php endif; ?>
<?php endif ?>
<?php if((get_option('display_addtocart') == 1) && (get_option('addtocart_or_buynow') !='1')) :?>
<?php if(wpsc_product_has_stock()) : ?>
<input type="submit" value="<?php _e('Add To Cart', 'it-l10n-BuilderChild-Market'); ?>" name="Buy" class="wpsc_buy_button" id="product_<?php echo wpsc_the_product_id(); ?>_submit_button"/>
<?php else : ?>
<p class="soldout">
<?php _e('Sorry, sold out!', 'it-l10n-BuilderChild-Market'); ?>
</p>
<?php endif ; ?>
<?php endif; ?>
<?php do_action ( 'wpsc_product_form_fields_end' ); ?>
</form>
</div>
<!--close grid_more_info-->

<?php if( ( get_option('display_addtocart') == 1 ) && ( get_option( 'addtocart_or_buynow' ) == '1' ) ) :?>
<?php echo wpsc_buy_now_button(wpsc_the_product_id()); ?>
<?php endif ; ?>
<?php endif; ?>
</div>
<!--close product_grid_item-->

<?php if((get_option('grid_number_per_row') > 0) && ((($wp_query->current_post +1) % get_option('grid_number_per_row')) == 0)) :?>
<div class="grid_view_clearboth"></div>
<?php endif ; ?>
<?php endwhile; ?>
<?php if(wpsc_product_count() == 0):?>
<p>
<?php _e('There are no products in this group.', 'it-l10n-BuilderChild-Market'); ?>
</p>
<?php endif ; ?>
</div>
<!--close product_grid_display-->

<?php if(wpsc_has_pages_bottom()) : ?>
<div class="wpsc_page_numbers_bottom group">
<?php wpsc_pagination(); ?>
</div>
<!--close wpsc_page_numbers_bottom-->

<?php endif; ?>
<?php endif; ?>
<?php do_action( 'wpsc_theme_footer' ); ?>
</div>
<!--close grid_view_products_page_container-->
<?php } ?>

Let me know if you have any trouble with it.


Lisa comments:

Hi Hariprasad,
Thanks for your quick reply. I've replaced my wpsc-grid_view.php file with the code you sent, but it actually didn't change anything? See link to refrigeration page: http://wholesalerestaurantequipment.ca/wholesale-restaurant-equipment-vancouver/refrigeration

This is a parent category with multiple sub-categories. I have uploaded images for each as well... Let me know.


Hariprasad Vijayan comments:

Is it category or custom taxonomy? Can you provide access to dashboard to check?


Hariprasad Vijayan comments:

Try this one

<?php
global $wp_query;
$image_width = get_option('product_image_width');
$image_height = get_option('product_image_height');
?>
<?php
$term_id = wpsc_category_id();
$taxonomy_name = 'wpsc_product_category';
$termchildren = get_term_children( $term_id, $taxonomy_name );

if(!empty($termchildren)){

?>

<div id="grid_view_products_page_container"> <?php echo do_shortcode('[raw]'); ?>
<?php wpsc_output_breadcrumbs(); ?>
<?php do_action('wpsc_top_of_products_page'); // Plugin hook for adding things to the top of the products page, like the live search ?>
<div class="product_grid_display group">
<?php if(wpsc_display_categories()): ?>
<?php if(get_option('wpsc_category_grid_view') == 1) :?>
<div class="wpsc_categories wpsc_category_grid group">
<?php $category_id = wpsc_category_id();

$getsubs = "SELECT term_id FROM wp_term_taxonomy WHERE taxonomy = 'wpsc_product_category' AND parent = '".$category_id."'";

$subcats = mysql_query($getsubs); //this gets the ids of the subcategories

$num_subcats = mysql_num_rows($subcats); //this is a count of how many subcategories the current category has

while ($row = mysql_fetch_row($subcats)) {

foreach ($row as $subcat)

$catname = wpsc_category_name($subcat); // Gets the category name for use below

$catimage = wpsc_category_image($subcat); // Gets the URL of the category image

$catlink = get_term_link((int)$subcat, 'wpsc_product_category'); // Gets the link URL to the category page

if ($category_id >= 0 || $category_id != '') { ?>
<a href="<?php echo $catlink; ?>" class="wpsc_category_grid_item" title="<?php echo $catname; ?>">
<?php

// Here I did something a little different. I wanted to be able to display the category

// title whether there is a category image or not. I made the category image the background

// of a div and superimposed the title over it. No category image means the url for the

// background property is empty. It's janky, but it won't break anything.

?>
<div class="cat_image" style="background:url('<?php echo $catimage; ?>') top center no-repeat; background-size: <?php echo get_option('category_image_width'); ?>px <?php echo get_option('category_image_height'); ?>px;width:<?php echo get_option('category_image_width'); ?>px;height:<?php echo get_option('category_image_height'); ?>px">
<?php if ($category_id != 0 || $category_id != '') { ?>
<h4 style="z-index:200;color:#C00"><span><?php echo $catname; ?></span></h4>
<?php } ?>
</div>
</a>
<?php

}

} ?>
</div>
<?php endif; endif; ?>
</div>

<!--close wpsc_categories BC-->

</div>
<?php

} else {

?>
<div id="grid_view_products_page_container">
<?php wpsc_output_breadcrumbs(); ?>
<?php do_action('wpsc_top_of_products_page'); // Plugin hook for adding things to the top of the products page, like the live search ?>
<?php if(wpsc_display_categories()): ?>
<?php if(get_option('wpsc_category_grid_view') == 1) :?>
<div class="wpsc_categories wpsc_category_grid group">
<?php wpsc_start_category_query(array('category_group'=> 1, 'show_thumbnails'=> 1)); ?>
<a href="<?php wpsc_print_category_url();?>" class="wpsc_category_grid_item <?php wpsc_print_category_classes_section(); ?>" title="<?php wpsc_print_category_name();?>">
<?php wpsc_print_category_image(45, 45); ?>
</a>
<?php wpsc_print_subcategory("", ""); ?>
<?php wpsc_end_category_query(); ?>
</div>

<!--close wpsc_categories-->

<?php else:?>
<ul class="wpsc_categories">
<?php wpsc_start_category_query(array('category_group'=> 1, 'show_thumbnails'=> get_option('show_category_thumbnails'))); ?>
<li>
<?php wpsc_print_category_image(32, 32); ?>
<a href="<?php wpsc_print_category_url();?>" class="wpsc_category_link <?php wpsc_print_category_classes_section(); ?>">
<?php wpsc_print_category_name();?>
</a>
<?php if(get_option('wpsc_category_description')) :?>
<?php wpsc_print_category_description("<div class='wpsc_subcategory'>", "</div>"); ?>
<?php endif;?>
<?php wpsc_print_subcategory("<ul>", "</ul>"); ?>
</li>
<?php wpsc_end_category_query(); ?>
</ul>
<?php endif; ?>
<?php endif; ?>
<?php if(wpsc_display_products()): ?>
<?php if(wpsc_is_in_category()) : ?>
<div class="wpsc_category_details">
<?php if(get_option('show_category_thumbnails') && wpsc_category_image()) : ?>
<img src="<?php echo wpsc_category_image(); ?>" alt="<?php echo wpsc_category_name(); ?>" title="<?php echo wpsc_category_name(); ?>" />
<?php endif; ?>
<?php if(get_option('wpsc_category_description') && wpsc_category_description()) : ?>
<?php echo wpsc_category_description(); ?>
<?php endif; ?>
</div>

<!--close wpsc_category_details-->

<?php endif; ?>
<?php if(wpsc_has_pages_top()) : ?>
<div class="wpsc_page_numbers_top group">
<?php wpsc_pagination(); ?>
</div>

<!--close wpsc_page_numbers_top-->

<?php endif; ?>
<div class="product_grid_display group">
<?php while (wpsc_have_products()) : wpsc_the_product(); ?>
<div class="product_grid_item product_view_<?php echo wpsc_the_product_id(); ?>">
<?php if( wpsc_the_product_thumbnail() ) :?>
<div class="item_image"> <a href="<?php echo wpsc_the_product_permalink(); ?>"> <img style="width:<?php echo get_option('product_image_width'); ?>px;height:<?php echo get_option('product_image_height'); ?>px" class="product_image" id="product_image_<?php echo wpsc_the_product_id(); ?>" alt="<?php echo wpsc_the_product_title(); ?>" src="<?php echo wpsc_the_product_thumbnail(); ?>" /> </a> </div>

<!--close item_image-->

<?php else: ?>
<div class="item_no_image"> <a href="<?php echo wpsc_the_product_permalink(); ?>"> <img class="no-image" id="product_image_<?php echo wpsc_the_product_id(); ?>" alt="No Image" title="<?php echo wpsc_the_product_title(); ?>" src="<?php echo WPSC_CORE_THEME_URL; ?>wpsc-images/noimage.png" width="<?php echo get_option('product_image_width'); ?>" height="<?php echo get_option('product_image_height'); ?>" /> </a> </div>

<!--close item_no_image-->

<?php endif; ?>
<?php if( wpsc_product_on_special() ) : ?>
<span class="sale">
<?php _e( 'Sale', 'it-l10n-BuilderChild-Market' ); ?>
</span>
<?php endif; ?>
<?php if( get_option( 'show_images_only' ) != 1 ): ?>
<div class="grid_product_info">
<h2 class="prodtitle"><?php echo wpsc_the_product_title(); ?></h2>
<?php if( ( wpsc_the_product_description() != '' ) && ( get_option('display_description' ) == 1 ) ): ?>
<div class="grid_description"><?php echo wpsc_the_product_description(); ?></div>
<?php endif; ?>
<div class="price_container">
<?php $noprice = wpsc_the_product_price();



if ($noprice=='$0.00') { ?>
<span class="black-button">Call for Pricing</span>
<?php } else { ?>
<a href="<?php echo wpsc_the_product_permalink(); ?>"><span class="pricedisplay black-button" id='product_price_<?php echo wpsc_the_product_id(); ?>'>
<?php _e( 'Price', 'it-l10n-BuilderChild-Market' ); ?>
: <?php echo wpsc_the_product_price(); ?></span></a>
<?php } ?>
</div>

<!--close price_container-->

<?php if(get_option('display_moredetails') == 1) : ?>
<a href="<?php echo wpsc_the_product_permalink(); ?>" class="more_details">more details</a>
<?php endif; ?>
</div>

<!--close grid_product_info-->

<div class="grid_more_info">
<form class="product_form" enctype="multipart/form-data" action="<?php echo wpsc_this_page_url(); ?>" method="post" name="product_<?php echo wpsc_the_product_id(); ?>" id="product_<?php echo wpsc_the_product_id(); ?>" >
<?php do_action ( 'wpsc_product_form_fields_begin' ); ?>
<input type="hidden" value="add_to_cart" name="wpsc_ajax_action"/>
<input type="hidden" value="<?php echo wpsc_the_product_id(); ?>" name="product_id"/>
<?php if(get_option('display_variations') == 1) : ?>
<?php /** the variation group HTML and loop */ ?>
<?php if (wpsc_have_variation_groups()) : ?>
<fieldset>
<legend>
<?php _e('Product Options', 'it-l10n-BuilderChild-Market'); ?>
</legend>
<div class="wpsc_variation_forms">
<table>
<?php while (wpsc_have_variation_groups()) : wpsc_the_variation_group(); ?>
<tr>
<td class="col1"><label for="<?php echo wpsc_vargrp_form_id(); ?>"><?php echo wpsc_the_vargrp_name(); ?>:</label></td>
<?php /** the variation HTML and loop */?>
<td class="col2"><select class="wpsc_select_variation" name="variation[<?php echo wpsc_vargrp_id(); ?>]" id="<?php echo wpsc_vargrp_form_id(); ?>">
<?php while (wpsc_have_variations()) : wpsc_the_variation(); ?>
<option value="<?php echo wpsc_the_variation_id(); ?>" <?php echo wpsc_the_variation_out_of_stock(); ?>><?php echo wpsc_the_variation_name(); ?></option>
<?php endwhile; ?>
</select></td>
</tr>
<?php endwhile; ?>
</table>
</div>

<!--close wpsc_variation_forms-->

</fieldset>
<?php /** the variation group HTML and loop ends here */?>
<?php endif; ?>
<?php endif ?>
<?php if((get_option('display_addtocart') == 1) && (get_option('addtocart_or_buynow') !='1')) :?>
<?php if(wpsc_product_has_stock()) : ?>
<input type="submit" value="<?php _e('Add To Cart', 'it-l10n-BuilderChild-Market'); ?>" name="Buy" class="wpsc_buy_button" id="product_<?php echo wpsc_the_product_id(); ?>_submit_button"/>
<?php else : ?>
<p class="soldout">
<?php _e('Sorry, sold out!', 'it-l10n-BuilderChild-Market'); ?>
</p>
<?php endif ; ?>
<?php endif; ?>
<?php do_action ( 'wpsc_product_form_fields_end' ); ?>
</form>
</div>

<!--close grid_more_info-->

<?php if( ( get_option('display_addtocart') == 1 ) && ( get_option( 'addtocart_or_buynow' ) == '1' ) ) :?>
<?php echo wpsc_buy_now_button(wpsc_the_product_id()); ?>
<?php endif ; ?>
<?php endif; ?>
</div>

<!--close product_grid_item-->

<?php if((get_option('grid_number_per_row') > 0) && ((($wp_query->current_post +1) % get_option('grid_number_per_row')) == 0)) :?>
<div class="grid_view_clearboth"></div>
<?php endif ; ?>
<?php endwhile; ?>
<?php if(wpsc_product_count() == 0):?>
<p>
<?php _e('There are no products in this group.', 'it-l10n-BuilderChild-Market'); ?>
</p>
<?php endif ; ?>
</div>

<!--close product_grid_display-->

<?php if(wpsc_has_pages_bottom()) : ?>
<div class="wpsc_page_numbers_bottom group">
<?php wpsc_pagination(); ?>
</div>

<!--close wpsc_page_numbers_bottom-->

<?php endif; ?>
<?php endif; ?>
<?php do_action( 'wpsc_theme_footer' ); ?>
</div>

<!--close grid_view_products_page_container-->

<?php } ?>

If it is not working provide access to dashboard.


Lisa comments:

Hi Hariprasad- it still isn't working. See attached screenshots of the results. I believe WPEC plugin uses categories, not taxonomy, but I'm not 100% certain.