RestroPress Addon Quantity
On this page
Addon Quantity lets a customer choose how many of each add-on item they want, instead of only ticking it on or off. For example, a customer can order three portions of an extra topping while the main menu item stays at quantity one. You switch the feature on per parent Add-on Group, so some groups can use quantities while others keep the standard checkbox or radio behaviour.
It is meant for restaurants whose add-ons are countable (extra toppings, sauces, sides) and who want the price and the order record to reflect the count.
Requirements#
- RestroPress, active. The extension shows an admin error and deactivates itself if
restropress/restro-press.phpis not active. - It uses filters and actions that are present in RestroPress 3.4.x (
rp_food_addon_column_extra_html,rpress_purchase_receipt_after_qantity_table, therpress_addon_validationJavaScript event). The plugin header does not state a minimum RestroPress version. - Version 1.2.4 of this extension is documented here. The readme lists "Requires at least: 4.0" for WordPress and "Tested up to: 7.1".
Installation#
- Go to Plugins › Add New › Upload Plugin, choose the extension ZIP and select Install Now.
- Select Activate.
This extension contains no licence field and no update-check code, so there is no licence key to enter for it. Updates are not handled by the extension itself.
Settings#
The extension adds one option to the edit screen of a parent Add-on Group.
- Go to Menu Items › Addons and edit a parent Add-on Group (a top-level term, not one of the add-on items listed under it).
- Find the field labelled Addon Quantity and tick the checkbox Enable This Option For Use Custom Addon Quantity.
- Select Update.
| Setting | What it does | Default |
|---|---|---|
| Addon Quantity (per parent Add-on Group) | Shows a minus button, a quantity box and a plus button next to every add-on item in that group. Stored as the term meta _quantity. | Off |
The field only appears on parent groups. Child add-on items (terms that have a parent) do not show it, and the quantity controls of a group apply to all of its add-on items.

How it works#
Customer
- The customer opens a menu item that has an Add-on Group with quantity enabled.
- Next to each add-on item the price is followed by a - button, a read-only quantity box that starts at 1, and a + button.
- Pressing + or - changes the quantity (never below 1), ticks the add-on automatically, and recalculates the add-on price as unit price multiplied by quantity. The live price in the popup is refreshed.
- The same controls appear when the customer edits a cart item.
- If the Add-on Group has a minimum or maximum number of add-ons, the check counts the total quantity of the ticked add-ons in that group, not the number of ticked boxes. For example, a maximum of 3 allows one add-on at quantity 3 but not two add-ons at quantity 2 each.

Restaurant
The quantity is carried in the add-on's cart data. In the purchase receipt email the extension prints the add-on quantity in the quantity column, under the item quantity.
Developer reference#
The extension does not define its own hooks. It attaches to the following RestroPress hooks.
| Hook | Type | Parameters | Purpose |
|---|---|---|---|
rp_food_addon_column_extra_html | filter | $child_addon_id, $get_addon_price, $addon_id, $child_addon_slug | The extension prints the +/- controls from this callback when the parent group has _quantity set to 1. |
rpress_purchase_receipt_after_qantity_table | action | $addon_item | Prints the add-on quantity in the receipt email. The hook name is spelled "qantity" in RestroPress itself. |
addon_category_edit_form_fields and edited_addon_category | WordPress taxonomy actions | term object / term ID | Render and save the Addon Quantity checkbox. |
rpress_addon_validation | jQuery event | customValidation with element, minAddons, maxAddons, isValid | Replaces the count of ticked add-ons with the total quantity when a group uses quantity controls. |
To read whether a group uses quantities in your own code:
$uses_quantity = '1' === (string) get_term_meta( $addon_category_id, '_quantity', true );
Troubleshooting#
- The checkbox is missing when editing an add-on. It only shows on parent groups. Open the top-level group instead.
- No +/- buttons on the storefront. Check that the group's checkbox is saved, and clear any page, object or minified-script cache so
rpress_addon_quantity.jsloads. - Notice "RestroPress Addon Quantity requires RestroPress plugin..." RestroPress is not active under the folder name
restropress. The extension deactivates itself when this check fails. - Cannot go below 1. The quantity box has a floor of 1. To remove the add-on, untick it.
Changelog highlights#
- 1.2.4 (06-03-2026): fixed the cart price when decreasing add-on quantity in the edit popup; fixed quantity sync for add and edit cart flows; added nonce and capability checks when saving the setting.
- 1.2.3 (13-11-2025): quantity validation with minimum and maximum values.
- 1.2.2 (03-09-2025): design compatibility for RestroPress 3.2.
