Used to test if the cart has shipping costs associated with it.

shopp('cart', 'has-ship-costs', 'options')

@param string $object the object or object.tag combination, if object.tag is used, the tag parameter can be omitted
@param string $tag the tag, can be hyphenated or not. Prefix with 'get' as shorthand for the return=true option
@param mixed $options associative array, or url-style name=value pairs separated by ampersands (&). Each pair is passed to the theme api tag as an option.
@returns boolean True if the total shipping cost is greater than 0

This tag returns a true or false value. It is important to note that this is different than the shopp('cart','needs-shipped') tag. The cart can still have items that need shipped, but have no shipping costs such as when a free shipping promotion applies.


Universal Options

All Theme API calls have these options.

  • return: when set to true, 1, or on, this option forces the tag to return the value instead of displaying/echoing the value to the page. Alternatively, prefix the tag parameter with get to get the same effect. All theme api tags that return a boolean value will return by default.
  • echo: when set to false, 0, or off, this option forces the tag to display the value to the page. This is the default for all non-boolean tags.
  • is: when set to true, 1, or on, this option will evaluate the return of the theme api call as a boolean true or false value. See how values are converted to boolean.


<?php if(shopp('cart','has-ship-costs')) { … } ?>

Show shipping costs if they exist

<?php if(shopp('cart','has-ship-costs')): ?>
    <tr class="totals">
        <th scope="row"><?php shopp('cart','shipping','label=Shipping'); ?></th>
        <td class="money"><?php shopp('cart','shipping'); ?></td>
<?php endif; ?>

See Also

You must be logged in to post a comment.

© Ingenesis Limited. Shopp™ is a registered trademark of Ingenesis Limited.