Hi,
There is no built-in setting for that yet, but you can do it with a small view override, without touching HikaShop's own files, so it survives updates.
Go to Display>Views in the HikaShop backend and edit the product / listing_price.php file and add this right after the opening <?php line at the very top of the file:
$in_stock = (((int)$this->row->product_quantity == -1 && (empty($this->element->main) || $this->element->main->product_quantity == -1 || $this->element->main->product_quantity > 0)) || (int)$this->row->product_quantity > 0);
if(!$in_stock) {
return;
}
This reuses HikaShop's own in-stock test, so it behaves correctly with variants and with products that don't manage stock: the price is hidden only when the product is really out of stock, and products with unlimited stock still show their price. It applies both to the product listings and to the product page, since they share the same price layout.
If you prefer to show a short text in place of the price rather than hide it entirely, replace the return line with:
echo '<span class="hikashop_product_price_full">'.JText::_('OUT_OF_STOCK').'</span>';
return;
I've noted the request for a real option in the product/display settings for a future version.