Filter Since 4.0 uncanny-automator

automator_pro_actions_conditions_fields

Filters available fields for an automator action's conditions, allowing customization before they are displayed.

add_filter( 'automator_pro_actions_conditions_fields', $callback, 10, 3 );

Description

Filters the array of fields available for specific actions and conditions within Uncanny Automator Pro. Developers can modify or add fields to customize condition parameters. This hook fires when Uncanny Automator is preparing to display fields for a condition, allowing for dynamic adjustments.


Usage

add_filter( 'automator_pro_actions_conditions_fields', 'your_function_name', 10, 3 );

Parameters

$fields (array)
Empty array to populate with field definitions.
$integration_code (string)
Integration code (e.g., 'WP', 'GEN').
$condition_code (string)
Condition code.

Return Value

The filtered value.


Examples

/**
 * Adds a custom field to the "User logged in" condition for the "WordPress" integration.
 *
 * @param array  $fields           The existing fields for the condition.
 * @param string $integration_code The code of the integration.
 * @param string $condition_code   The code of the condition.
 *
 * @return array The modified fields array.
 */
function my_custom_automator_condition_fields( $fields, $integration_code, $condition_code ) {

    // Check if we are modifying the fields for the "WordPress" integration and the "user_logged_in" condition.
    if ( 'wordpress' === $integration_code && 'user_logged_in' === $condition_code ) {

        // Add a new custom field for selecting a specific user role.
        $fields['user_role_selector'] = array(
            'name'        => esc_html__( 'User role', 'your-text-domain' ),
            'type'        => 'select',
            'options'     => array(
                ''        => esc_html__( 'Any role', 'your-text-domain' ),
                'editor'  => esc_html__( 'Editor', 'your-text-domain' ),
                'author'  => esc_html__( 'Author', 'your-text-domain' ),
                'contributor' => esc_html__( 'Contributor', 'your-text-domain' ),
                'subscriber' => esc_html__( 'Subscriber', 'your-text-domain' ),
            ),
            'placeholder' => esc_html__( 'Select a role...', 'your-text-domain' ),
            'required'    => false,
        );
    }

    return $fields;
}
add_filter( 'automator_pro_actions_conditions_fields', 'my_custom_automator_condition_fields', 10, 3 );

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/core/services/resolver/fields-conditions-resolver.php:95
src/core/services/integrations/structure.php:556
src/api/components/condition/registry/class-wp-action-condition-registry.php:58
src/api/components/condition/registry/class-wp-action-condition-registry.php:187
src/api/database/stores/class-wp-recipe-store.php:1218
uncanny-automator-pro/src/core/classes/actions-conditions.php:946

public function get_raw_condition_fields( string $integration_code, string $condition_code ): array {
		/**
		 * Filter to get condition field definitions.
		 *
		 * @since 4.0
		 *
		 * @param array  $fields           Empty array to populate with field definitions.
		 * @param string $integration_code Integration code (e.g., 'WP', 'GEN').
		 * @param string $condition_code   Condition code.
		 */
		$fields = apply_filters( 'automator_pro_actions_conditions_fields', array(), $integration_code, $condition_code );

		return is_array( $fields ) ? $fields : array();
	}


Internal Usage

Found in uncanny-automator-pro/src/core/classes/action-condition.php:151:

add_filter( 'automator_pro_actions_conditions_fields', array( $this, 'maybe_send_fields' ), 10, 3 );
Scroll to Top