---
title: "Order Min/Max Amount: Developer Hooks, Filters and Shortcodes Reference"
description: "Developer reference for Order Minimum/Maximum Amount Limits for WooCommerce: value, amount type and message filters."
url: "https://wpfactory.com/docs/order-min-max-developer-hooks-filters/"
updated: "2026-10-05"
category: Developers
tags:
  - Order Minimum/Maximum Amount for WooCommerce
---

# Order Min/Max Amount: Developer Hooks, Filters and Shortcodes Reference

[Order Minimum/Maximum Amount Limits for WooCommerce](https://wpfactory.com/item/order-minimum-maximum-amount-for-woocommerce/) exposes filters and actions so you can adjust limits, cart totals, messages, and behavior in code without editing plugin files. Every hook uses the `alg_wc_oma_` prefix. This reference lists the hooks that exist in the current version, plus the option and meta naming scheme and the three real shortcodes.

### Option and meta naming

Global settings are stored as options named `alg_wc_oma_{min|max}_{type}`, for example `alg_wc_oma_min_sum` or `alg_wc_oma_max_qty`. Per-user and per-product limits are stored as meta keyed `_alg_wc_oma_{min|max}_{type}` on the user or product. The amount *types* are `sum`, `qty`, `weight`, `volume`, `length`, `width`, `height`, `area`, `product`, `product_cat`, and `product_tag`.

### Value filters

These fire on a value the plugin is about to use, so whatever your callback returns wins.

| Filter | Filtered value |
| --- | --- |
| `alg_wc_oma_get_min_max_amount_data` | The resolved min/max amount data for a check. |
| `alg_wc_oma_before_get_min_max_amount_data` / `alg_wc_oma_after_get_min_max_amount_data` | The amount data before and after resolution. |
| `alg_wc_oma_get_min_max_amount_per_product` / `alg_wc_oma_after_get_min_max_amount_per_product` | The per-product limit for a scope check. |
| `alg_wc_oma_amount_cart_total` | The computed cart total for a given amount type. |
| `alg_wc_oma_get_cart_value` | A single cart item's contribution to the total. |
| `alg_wc_oma_get_cart_total_do_count_product` | Whether a cart item is counted toward the total. |
| `alg_wc_oma_check_order_min_max_amount` | The pass/fail result of a limit check. |
| `alg_wc_oma_block_checkout` | Whether checkout is blocked. |
| `alg_wc_oma_currency_rate` | The exchange rate used for per-currency limits (passed `0` if none resolved). |

#### Override the minimum sum for a specific case

```
add_filter( 'alg_wc_oma_get_min_max_amount_data', function ( $data ) {
    // $data typically holds 'amount', 'min_or_max', 'type'.
    if ( isset( $data['min_or_max'], $data['type'] ) && 'min' === $data['min_or_max'] && 'sum' === $data['type'] ) {
        $data['amount'] = 75;
    }
    return $data;
} );
```

### Amount type and formatting filters

| Filter | Controls |
| --- | --- |
| `alg_wc_oma_amount_types` | The list of available amount types (add your own here). |
| `alg_wc_oma_amount_title` | The human title of an amount type. |
| `alg_wc_oma_amount_unit` | The unit shown for an amount type. |
| `alg_wc_oma_amount_format` | The formatted output of an amount value. |
| `alg_wc_oma_amount_input_type` | Whether an amount input renders as a number or text field. |

#### Add a custom amount type

```
add_filter( 'alg_wc_oma_amount_types', function ( $types ) {
    $types['calories'] = __( 'Calories', 'my-plugin' );
    return $types;
} );
```

### Message, notice and scope filters

- `alg_wc_oma_placeholders` - the placeholder => value map used when rendering a message.
- `alg_wc_oma_get_default_message` - the default message text for a limit.
- `alg_wc_oma_get_notices` / `alg_wc_oma_after_get_notices` - the notices collected for the current request.
- `alg_wc_oma_is_source_message`, `alg_wc_oma_enabled_message_sources`, `alg_wc_oma_enabled_scopes` - control which message sources (shipping, gateway) and scopes (product, category, tag) are active.
- `alg_wc_oma_do_add_shipping_script` - whether the shipping refresh script is enqueued.

### Settings and Pro gating filters

`alg_wc_oma_settings` is how the plugin decides whether a Pro-only field is disabled: in the free version it returns `array( 'disabled' => 'disabled' )`; in Pro it returns `''`. `alg_wc_oma_settings_per_item` assembles the dynamic per-item (per role, per gateway, and so on) settings. Both are internal and not intended for store customization.

### Actions

| Action | Fires when |
| --- | --- |
| `alg_wc_oma_core_loaded` | The plugin core has finished loading. |
| `alg_wc_oma_check_notices_on_block_cart_change` | Cart block notices are re-checked after a cart change. |
| `alg_wc_oma_before_settings_user_roles` | Before the User Roles settings render (used by the deprecated-data migration). |

### Shortcodes

- `[alg_wc_oma_translate]` (Free) - conditional text by WPML/Polylang language. Attributes: `lang`, `not_lang`.
- `[alg_wc_oma_amount_msg]` (Pro) - prints its content when a limit is unmet. Attributes: `min_or_max`, `type`, `scope`, `product_id`, `on_empty`. Deprecated alias: `[alg_wc_order_min_max_amount]`.
- `[alg_wc_oma_amount]` (Pro) - returns a numeric value for an amount field. Attributes: `value`, `customer_type`, `user_bought_term_id`, `check_parent_bought_term_id`.

For full shortcode usage and placeholders, see the [shortcodes and placeholders reference](https://wpfactory.com/docs/understanding-placeholders/).

### Need help?

If you are extending [Order Min/Max Amount](https://wpfactory.com/item/order-minimum-maximum-amount-for-woocommerce/) and a hook does not behave as expected, contact us on the [support forum](https://wpfactory.com/support/item/order-minimum-maximum-amount-for-woocommerce/) with the hook name and a short code sample.

Related articles

- [Order Min/Max Amount: Reset a Settings Section to Defaults](https://wpfactory.com/docs/order-min-max-reset-settings-section/)
- [Min/Max Rules Not Applied for Specific Shipping Methods, Local Pickup, or Special Order Types](https://wpfactory.com/docs/min-max-shipping-rules/)
- [Setting Up Min/Max Order Messages and Their Placement](https://wpfactory.com/docs/order-messages-placement/)
- [Set the Product Quantity Field From Your Min/Max Limits](https://wpfactory.com/docs/woocommerce-quantity-input-from-order-limits/)
- [Amount Types Reference](https://wpfactory.com/docs/order-min-max-amount-types-reference/)

 

[![Order Minimum/Maximum Limits for WooCommerce](https://wpfactory.com/wp-content/uploads/Order-Minimum-Maximum-Amount-for-WooCommerce.webp)](https://wpfactory.com/item/order-minimum-maximum-amount-for-woocommerce/)
