Displays the ‘Best Seller Products’ smart category which displays the products that have the most purchases based on your store’s order logs.

shopp('storefront', 'bestseller-products', '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 string Markup for the Bestseller Products smart collection

Displays the Bestseller Products smart collection.

The Bestseller Products smart collection displays the products that have the most purchases based on the store’s order history. Products are listed with the most purchased products first. Deleteing orders in the order management interface will affect product purchase counts and reorder the products list accordingly.

By default this collection will use a sales threshold determine by the mean average product sold of all products in the catalog. Any product above that average will be included in the collection. Alternatively a date range can be provided to only include products sold within the provided time range ordered by bestselling.


  • title: Specifies the title to be shown for the category layout overriding the default category title.
  • controls: Default is on. Overrides the display of “control” elements in the category.php template that would otherwise be shown. Used to highlight a selection of products in a category without all of the extra category controls.
  • show: No default value. Limits the number of products to show in the category display. Without a limit, this category will show all the products in your catalog (no matter what category they are in).
  • load: Default is false. Loads the category into memory, making it available for using Category Tags rather than displaying the category using the Category Tags.
  • pagination: Default is numeric. Set to alpha this option will use alphabetic pagination, otherwise it will default to numeric.
  • range: Sets a date range for product sales to include in the collection. The date range option must be provided as an array. If the second element of the array (the end date) is not provided, the current timestamp will be used. Dates should be provided in a ‘YYYY-MM-DD HH:MM:SS’ format such as date('Y-m-d H:i:s').

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.

See Also

You must be logged in to post a comment.

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