---
title: Conditional Payment Methods Shortcodes and Developer Reference
description: Shortcodes, notice placeholders, hooks and option names for Conditional Payment Methods for WooCommerce.
url: "https://wpfactory.com/docs/conditional-payments-developer-reference/"
updated: "2026-09-27"
category: Developers
---

# Conditional Payment Methods Shortcodes and Developer Reference

This reference covers the shortcodes, notice placeholders and hooks in [Conditional Payment Methods for WooCommerce](https://wpfactory.com/item/conditional-payment-gateways-for-woocommerce/). Shortcodes can be used in text-based condition values and in every **Additional notice** at **WPFactory > Conditional Payment Gateways**. All of them work in the free and Pro versions.

## Shortcodes

| Shortcode | Attributes | Returns |
| --- | --- | --- |
| `[alg_wc_cpg_cart_total]` | `exclude_taxes` (default `yes`), `exclude_shipping` (default `no`), `exclude_discounts` (default `no`) | The cart total as a number. Used by **Cart Total Calculation > Cart total**. |
| `[alg_wc_cpg_user_id]` | None | The current user ID (`0` for guests). |
| `[alg_wc_cpg_if]` | `value1`, `value2`, `operator`, optional `then` and `else` | The enclosed content (or `then`) when the comparison is true, otherwise `else` or nothing. |
| `[alg_wc_cpg_translate]` | `lang`, `not_lang`, `lang_text`, `not_lang_text` | Text for the current WPML or Polylang language. |

### [alg_wc_cpg_if] operators

`equal`, `not equal`, `greater than`, `less than`, `greater than or equal`, `less than or equal`, `between` and `between or equal`. Underscored forms such as `greater_than` also work. For the two "between" operators, pass `value2` as two comma-separated numbers. Inside attributes, write nested shortcodes with curly braces: `{alg_wc_cpg_cart_total}` is converted to `[alg_wc_cpg_cart_total]`.

Example: use one date range for the Date/Time condition when the cart is under 1000 and another otherwise.

```
[alg_wc_cpg_if value1="{alg_wc_cpg_cart_total}" value2="1000" operator="less than" then="00:00:00-14:59:59" else="00:00:00-23:59:59"]
```

### [alg_wc_cpg_translate] examples

```
[alg_wc_cpg_translate lang="EN,DE" lang_text="EN and DE text" not_lang_text="Text for other languages"]

[alg_wc_cpg_translate lang="EN,DE"]EN and DE text[/alg_wc_cpg_translate][alg_wc_cpg_translate not_lang="EN,DE"]Text for other languages[/alg_wc_cpg_translate]
```

Language codes are compared without regard to case.

### Where shortcodes are processed

- Text-based condition values: Date/Time, Customer IP, User, Cart Total and Product Title.
- Every **Additional notice** text.
- The **Cart total** calculation field.

Dropdown conditions (roles, countries, currencies, products, terms, languages) take fixed selections and do not process shortcodes.

## Notice placeholders

| Placeholder | Replaced with |
| --- | --- |
| `%gateway_title%` | The hidden gateway's checkout title. |
| `%value%` | The value you set for the gateway. Formatted as a price for Cart Total. |
| `%result%` | The rule result. For Cart Total, the current cart total formatted as a price. |
| `%raw_value%`, `%raw_result%` | The same values without price formatting. |
| `%current_raw%` | The customer's current value for the condition, such as their country code or user ID. |

The admin lists only the placeholders most useful for each condition; the others are replaced in every notice too.

## Hooks

| Hook | Type | Arguments | Use |
| --- | --- | --- | --- |
| `alg_wc_cpg_gateway_settings_{condition_id}` | Filter | `$gateway_settings`, `$rule`, `$gateway_key`, `$gateway` | Change the admin field for one gateway in one condition section, for example its options or attributes. `{condition_id}` is an ID such as `country` or `product_cat`. |
| `alg_wc_cpg_core_loaded` | Action | None | Runs after the plugin core has loaded (whether or not the plugin is enabled). |

The plugin filters gateways on `woocommerce_available_payment_gateways` at priority `PHP_INT_MAX`, so it runs after other plugins that use the same filter.

### Example: limit the Country dropdown to a few countries

```
add_filter( 'alg_wc_cpg_gateway_settings_country', function ( $settings, $rule, $gateway_key, $gateway ) {
	$allowed = array( 'US', 'CA', 'GB' );
	$settings['options'] = array_intersect_key( $settings['options'], array_flip( $allowed ) );
	return $settings;
}, 10, 4 );
```

## Options

Settings are stored as regular WordPress options prefixed with `alg_wc_cpg_`. Per-gateway values are arrays keyed by gateway ID, for example `alg_wc_cpg_country_incl`. The full list is in the [settings reference](https://wpfactory.com/docs/conditional-payments-settings-reference/).

Need a hand? Our team answers every ticket on the [Conditional Payment Methods support forum](https://wpfactory.com/support/item/conditional-payment-gateways-for-woocommerce/).

Related articles

- [Troubleshooting Conditional Payment Methods](https://wpfactory.com/docs/conditional-payments-troubleshooting/)
- [Conditional Payment Methods: Free vs Pro](https://wpfactory.com/docs/conditional-payments-free-vs-pro/)
- [Getting Started with Conditional Payment Methods for WooCommerce](https://wpfactory.com/docs/conditional-payments-getting-started/)
- [How to Restrict Payment Methods by Currency or Language in WooCommerce](https://wpfactory.com/docs/conditional-payments-currency-language/)
- [How to Enable Payment Methods by Date and Time in WooCommerce](https://wpfactory.com/docs/conditional-payments-date-time/)
