Skip to content

Configuration

Aldono is configured in two places: the global settings page for store-wide display, and the Add-Ons tab in the product editor where you define each product’s fields. The global screen holds appearance and an on/off switch only, the actual options live on each product.

Open WooCommerce > Add-Ons in wp-admin. The screen needs the manage_woocommerce capability, so shop managers can use it, not only administrators. All settings are stored in the single addons_settings option (an array).

The master switch, on by default (enabled). When off, no add-on fields render on any product and no price deltas are applied in the cart, even on products that still have add-ons configured. Use it to take the whole feature offline without deleting any product’s settings.

The heading printed above the fields on the product page (group_title), for example Product options or Personalise your order. The packaged default is Product options. Clear the field to render the fields with no heading at all.

Three appearance checkboxes that change how the group looks. They affect presentation only, never pricing or which options show.

  • Show the price next to paid options (show_prices), appends the extra cost in brackets, e.g. Gift wrap (+$5.00). Free options never show a price. On by default.
  • Mark required fields with an asterisk (show_required), adds a red * after a required field’s label. The requirement is still enforced with this off; the asterisk is only a visual cue. On by default.
  • Wrap the options in a bordered card (card_style), groups the fields in a subtle bordered box (the addons-fields--card class). Turn it off for a plain inline layout that inherits the theme. On by default.

The options themselves live on the product. Edit a product, open the Add-Ons tab in the Product data panel, and add rows. Each row has:

  • Label, the text the shopper sees. A row with no label is dropped on save.
  • Type, one of Text, Textarea, Number, Date, Checkbox, Select or Radio. See Field types below.
  • Price, an amount added to the cart line when the option is taken: a checkbox is ticked, or a text, textarea, number or date field is filled in. Leave it blank for a free option. The value is clamped to a non-negative surcharge: a negative price is saved as zero, so a buyer can never drive a line below its base price.
  • Min chars / Max chars (Text and Textarea only), optional character limits. Leave them empty or at zero for no limit. The inputs are hidden for the other types.
  • Required, when on, the field must be filled before the product can be added to the cart.
  • Choices (Select and Radio only), one choice per line as Label | price, e.g. Standard | 0 and Premium | 9.99. Omit the price for a free choice. Each choice’s own price overrides the row price for that selection. The box is hidden for the other types.
Type What the shopper sees Checked at add to cart
Text A single-line input. With limits set, a live character counter shows under it. The Min chars and Max chars limits.
Textarea A multi-line box (three rows). Line breaks are kept, and each one counts as a single character. The same Min chars and Max chars limits as Text.
Number A number input that accepts decimals. The value must be numeric, otherwise: The option “Label” must be a number.
Date The browser’s own date picker (<input type="date">). The value must be a real calendar date, otherwise: The option “Label” must be a valid date.
Checkbox A tick box with the label beside it. Only that box’s own value is accepted.
Select A drop-down with a - Select - placeholder and one entry per choice. The posted choice must be one of its own, otherwise: The choice for “Label” is not one of its options.
Radio A group of radio buttons under the label, one per choice. The same rule as Select.

For Text, Textarea, Number, Date and Checkbox the row price is added once the field is filled or ticked. For Select and Radio the chosen choice’s price applies. A Number field adds its row price as a fixed amount: the number typed in does not multiply it. Number and Date fields have no minimum or maximum value of their own.

Definitions are stored as the _addons_definitions product meta, there are no custom database tables.

When a shopper picks paid options, each price delta is added to the product’s cart line total automatically. The selected values are captured onto the cart line and copied to the order as line-item meta, keyed by the field label, with the price appended when the choice cost more than zero, so the store sees exactly what was chosen.

  • A negative price is never stored, deltas are always surcharges.
  • A Select or Radio field with no choices is skipped on the storefront rather than rendering an empty control.
  • The supported field types are text, textarea, number, date, checkbox, select and radio; any other type is rejected on save.
  • Character limits apply to Text and Textarea only, so a limit left over after changing a row to another type never blocks it.

Deleting the plugin runs the uninstall routine, which removes the addons_settings and addons_db_version options. Your per-product field definitions (the _addons_definitions meta) are kept on purpose, so re-installing Aldono restores the configured products without rebuilding the forms.

For the filters and actions that let an extension reshape definitions or add admin fields, see Using Aldono > Developer hooks.