Hooks and functions reference

Locked Payment Methods for WooCommerce is a relatively simple plugin but it provides a few helpful functions and its functionality can easily be extended using a few key hooks.

Functions

All functions are located in the functions.php and src/functions/* files. You can check their parameters and return values in said locations. The components IDs can be found in the config_prod.php and config-premium_prod.php files.

Function nameDescription
dws_wc_lpm_di_containerReturns the dependency injection container instance.
dws_wc_lpm_instanceReturns the plugin’s main class instance from the DI container.
dws_wc_lpm_componentReturns a given plugin component from the DI container by its ID.
dws_wc_lpm_get_raw_settingReturns the raw database value of a given setting.
dws_wc_lpm_get_validated_settingReturns the validated database value of a given setting.
Function nameDescription
dws_wc_lpm_check_payment_method_access_via_user_metaReturns whether a payment method is locked or not for a given user based on the user meta strategy.
dws_wc_lpm_check_payment_method_access_via_user_rolesReturns whether a payment method is locked or not for a given user based on the user roles strategy.
dws_wc_lpm_check_payment_method_access_via_groupsReturns whether a payment method is locked or not for a given user based on the Groups integration strategy.
dws_wc_lpm_check_payment_method_access_via_wc_membershipsReturns whether a payment method is locked or not for a given user based on the WC Memberships integration strategy.
dws_wc_lpm_check_payment_method_access_for_userReturns whether a payment method is locked or not for a given user based on all active strategies.
dws_wc_lpm_check_payment_method_access_via_wc_order_metaReturns whether a payment method is locked or not for a given order based on the order meta strategy.
dws_wc_lpm_check_payment_method_access_for_wc_orderReturns whether a payment method is locked or not for a given order based on all applicable strategies.

Hooks

All hook tags are computationally generated to ensure uniqueness. It is possible to reverse-engineer the end-result, but it is recommended to just use the same helpers in order to ensure future-compatibility.

There are 2 helper functions to help you generate our hooks:

Function nameDescription
dws_wc_lpm_get_hook_tagReturns a plugin-level hook.
dws_wc_lpm_get_component_hook_tagReturns a component-level hook.

It’s recommended to use the action dws_wc_lpm_initialized to register your hooks. It’s guaranteed that the functions above will be present and work on this action.

Filter which payment methods are locked

add_action( 'dws_wc_lpm_initialized', function() {
    add_filter(
        dws_wc_lpm_get_component_hook_tag( 'lock-manager', 'locked_payment_methods' ),
        function( array $locked_methods_ids, array $gateways ): array {
            return $locked_methods_ids;
        },
        10,
        2
    );
} );Code language: PHP (php)

Filter whether a payment method is locked or not

add_action( 'dws_wc_lpm_initialized', function() {
    add_filter(
        dws_wc_lpm_get_component_hook_tag( 'lock-manager', 'is_locked_payment_method' ),
        function( bool $is_locked, string $locked_method_id ): array {
            return $is_locked;
        },
        10,
        2
    );
} );Code language: PHP (php)
add_action( 'dws_wc_lpm_initialized', function() {
    $locked_method_id = 'my-dummy-gateway-id';

    add_filter(
        dws_wc_lpm_get_component_hook_tag( 'lock-manager', 'is_locked_payment_method', array( $locked_method_id ) ),
        function( bool $is_locked ): bool {
            return $is_locked;
        }
    );
} );Code language: PHP (php)
Was this article helpful?

Need Support?

Can't find the answer you're looking for?
Contact Support

Need Support?

Can't find the answer you're looking for? Customers with an active license can log in into their account and post their questions on our support forum!
CONTACT SUPPORT