Filter
uncanny-automator
automator_armember_validate_common_trigger_codes
Filters the trigger codes for armember payment cancellation before validation.
add_filter( 'automator_armember_validate_common_trigger_codes', $callback, 10, 1 );
Description
This filter allows developers to modify the array of trigger codes that are considered valid for common ARMember trigger validations. It fires after ARMember trigger arguments are processed, enabling customization of which ARMember actions are recognized as valid trigger events within the Automator plugin.
Usage
add_filter( 'automator_armember_validate_common_trigger_codes', 'your_function_name', 10, 1 );
Parameters
-
$args(mixed) - This parameter contains an array of ARMember trigger codes that are considered valid for common trigger validations within the automator.
Return Value
The filtered value.
Examples
add_filter(
'automator_armember_validate_common_trigger_codes',
'my_custom_armember_trigger_validation',
10,
2
);
/**
* Custom validation for ARMember trigger codes.
*
* This function adds a custom trigger code ('MY_CUSTOM_ARMEMBER_EVENT')
* to the list of validated common trigger codes for ARMember.
*
* @param array $trigger_meta_validations The array of trigger codes to validate.
* @param array $args The arguments passed to the filter.
* @return array The modified array of trigger codes to validate.
*/
function my_custom_armember_trigger_validation( $trigger_meta_validations, $args ) {
// Add a custom trigger code to the list of validations.
// This assumes 'MY_CUSTOM_ARMEMBER_EVENT' is a valid ARMember trigger code
// that your custom integration or plugin might use.
$trigger_meta_validations[] = 'MY_CUSTOM_ARMEMBER_EVENT';
// You could also conditionally add it based on $args if needed.
// For example, if a specific user role or membership level is involved.
// if ( isset( $args['user_id'] ) && get_user_meta( $args['user_id'], 'is_premium_member', true ) ) {
// $trigger_meta_validations[] = 'MY_PREMIUM_ARMEMBER_EVENT';
// }
return $trigger_meta_validations;
}
Placement
This code should be placed in the functions.php file of your active theme, a custom plugin, or using a code snippets plugin.
Source Code
src/integrations/armember/tokens/armember-tokens.php:55
public function save_token_data( $args, $trigger ) {
if ( ! isset( $args['trigger_args'] ) || ! isset( $args['entry_args']['code'] ) ) {
return;
}
$trigger_meta_validations = apply_filters(
'automator_armember_validate_common_trigger_codes',
array( 'ARM_CANCEL_PLAN' ),
$args
);
if ( in_array( $args['entry_args']['code'], $trigger_meta_validations, true ) ) {
$trigger_log_entry = $args['trigger_entry'];
if ( isset( $args['trigger_args'][0], $args['trigger_args'][1] ) ) {
Automator()->db->token->save( 'save_user_id', $args['trigger_args'][0], $trigger_log_entry );
Automator()->db->token->save( 'save_plan_id', $args['trigger_args'][1], $trigger_log_entry );
}
}
}