---
title: Developer Hooks and Filters Reference for Stock Triggers
description: "Developer reference for WooCommerce stock triggers: filters, and examples that add custom triggers."
url: "https://wpfactory.com/docs/stock-triggers-hooks-filters/"
updated: "2026-09-25"
category: Developers
---

# Developer Hooks and Filters Reference for Stock Triggers

## Developer hooks and filters reference

This reference lists the filters exposed by [Automated Stock Update Triggers for WooCommerce](https://wpfactory.com/item/stock-triggers-for-woocommerce/) so you can extend or override its behavior in code. All examples go in your child theme's `functions.php` or a small custom plugin.

### Filters

| Filter | Purpose | Arguments |
| --- | --- | --- |
| `alg_wc_stock_triggers_list` | The full list of available triggers (keyed by action hook name). Pro uses this to add every registered order status. | `$triggers` (array) |
| `alg_wc_stock_triggers_section_triggers` | The active triggers for one section before they are hooked. Pro uses this to merge in custom triggers. | `$triggers` (array), `$section_id` (`decrease` or `increase`) |
| `alg_wc_stock_triggers_order_status_list` | The status choices for the Admin "Adjust line item product stock" option. Pro uses this to add all order statuses. | `$statuses` (array) |
| `alg_wc_stock_triggers_function_decrease` | The function called to decrease stock. Return a different callable to change how stock is reduced. | `$func` (default `wc_maybe_reduce_stock_levels`), `$order_id` |
| `alg_wc_stock_triggers_function_increase` | The function called to increase stock. Return a different callable to change how stock is restored. | `$func` (default `wc_maybe_increase_stock_levels`), `$order_id` |
| `alg_wc_stock_triggers_settings` | Internal Pro gate. Controls the read-only state of the Custom triggers field and the free-version upsell text. Not intended as a public extension point. | `$value`, `$type`, `$args` |

### Example: add a custom action as an available trigger

```
add_filter( 'alg_wc_stock_triggers_list', function ( $triggers ) {
    $triggers['my_custom_stock_action'] = __( 'My custom stock action', 'my-textdomain' );
    return $triggers;
} );
```

### Example: add a trigger to the decrease section in code

```
add_filter( 'alg_wc_stock_triggers_section_triggers', function ( $triggers, $section_id ) {
    if ( 'decrease' === $section_id ) {
        $triggers[] = 'woocommerce_order_status_completed';
    }
    return $triggers;
}, 10, 2 );
```

### Example: force a hard stock reduction instead of "maybe"

```
add_filter( 'alg_wc_stock_triggers_function_decrease', function ( $func, $order_id ) {
    return 'wc_reduce_stock_levels'; // always reduce, ignoring the already-reduced guard
}, 10, 2 );
```

### Note on naming

All option keys and hooks use the historical `alg_wc_stock_triggers_` prefix. These are current, not deprecated. The developer filters `alg_wc_stock_triggers_function_decrease` and `alg_wc_stock_triggers_function_increase` were added in version 1.6.3.

### Need a hand?

For integration questions, our team answers through the [Stock Triggers support page](https://wpfactory.com/item/stock-triggers-for-woocommerce/).

Related articles

- [Stock Triggers Options Reference](https://wpfactory.com/docs/stock-triggers-options-reference/)
- [Restrict Stock Triggers to Specific Products or Categories](https://wpfactory.com/docs/woocommerce-stock-triggers-require-products-categories/)
- [Additional Tips for Stock Triggers](https://wpfactory.com/docs/stock-triggers-additional-tips/)
- [General Troubleshooting for Stock Triggers](https://wpfactory.com/docs/general-troubleshooting-stock/)
- [Troubleshooting Stock and Inventory Update Triggers](https://wpfactory.com/docs/troubleshooting-inventory-updates/)
