OK, if you're using the group discounts, see this post: http://www.zen-cart.com/forum/showpost.php?p=363633&postcount=5
If you're using the dual pricing mod, go into includes/modules/shipping/ and then the file for whichever shipping method you're using for your wholesale customers, e.g. table.php. Find this section:
$this->enabled = ((MODULE_SHIPPING_TABLE_STATUS == 'True') ? true : false);
if ( ($this->enabled == true) && ((int)MODULE_SHIPPING_TABLE_ZONE > 0) ) {
And change it to this:
$this->enabled = ((MODULE_SHIPPING_TABLE_STATUS == 'True') ? true : false);
$group_query = $db->Execute("select customers_whole from " . TABLE_CUSTOMERS . " where customers_id = '" . (int)$_SESSION['customer_id'] . "'");
if ($group_query->RecordCount() == 0 || $group_query->fields['customers_whole'] != 1 ) $this->enabled = false;
}
if ( ($this->enabled == true) && ((int)MODULE_SHIPPING_TABLE_ZONE > 0) ) {
I bolded the number 1 in the above code, that is the number of your wholesale price level. My client is only using one wholesale price level, so I didn't go any further then that, but I'm sure it could be modified to work with multiple price levels.
That code will make it so that retail customers will not see the wholesale shipping options. If you want to take it a step further and make it so that wholesale customers cannot see the retail shipping options, go into includes/modules/shipping/ and then the file for whichever shipping method you're using for your retail customers, e.g. flat.php. Find this section:
$this->enabled = ((MODULE_SHIPPING_FLAT_STATUS == 'True') ? true : false);
if ( ($this->enabled == true) && ((int)MODULE_SHIPPING_FLAT_ZONE > 0) ) {
And change it to this:
$this->enabled = ((MODULE_SHIPPING_FLAT_STATUS == 'True') ? true : false);
$group_query = $db->Execute("select customers_whole from " . TABLE_CUSTOMERS . " where customers_id = '" . (int)$_SESSION['customer_id'] . "'");
if ($group_query->RecordCount() == 0 || $group_query->fields['customers_whole'] != 0 ) $this->enabled = false;
}
if ( ($this->enabled == true) && ((int)MODULE_SHIPPING_FLAT_ZONE > 0) ) {