Filter uncanny-automator

automator_active_integration_directories

Filters the active integration directories for the core integration.

add_filter( 'automator_active_integration_directories', $callback, 10, 1 );

Description

Fires after all active integration directories have been collected. Developers can use this filter to modify the array of integration directories. The `$this` parameter refers to the current `Set_Up_Automator` instance.


Usage

add_filter( 'automator_active_integration_directories', 'your_function_name', 10, 1 );

Parameters

$this (mixed)
This parameter is an instance of the `Set_Up_Automator` class itself, likely used to access its methods and properties for managing active integration directories.

Return Value

The filtered value.


Examples

/**
 * Example filter to modify the list of active integration directories.
 *
 * This example demonstrates how to add a custom integration directory
 * to the list of active integration directories.
 *
 * @param array $active_directories An array of active integration directories.
 * @return array The modified array of active integration directories.
 */
add_filter(
	'automator_active_integration_directories',
	function ( $active_directories ) {
		// Assuming you have a custom integration directory path.
		// Replace 'path/to/your/custom/integrations' with the actual path.
		$custom_integration_path = WP_PLUGIN_DIR . '/your-plugin-name/automator-integrations/';

		// Check if the custom directory exists before adding it.
		if ( is_dir( $custom_integration_path ) ) {
			$active_directories[] = $custom_integration_path;
		}

		return $active_directories;
	},
	10, // Priority: 10 is the default, meaning this runs after default filters.
	1  // Accepted args: This filter only accepts one argument ($active_directories).
);

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/classes/class-set-up-automator.php:267
src/core/integration-loader/class-integration-registrar.php:113

if ( method_exists( $instance, 'add_integration' ) ) {
				$instance->add_integration( $instance->get_integration(), array( $instance->get_name(), $instance->get_icon() ) );
			}

			Utilities::add_class_instance( $class, $instance );
		}

		$this->active_directories = apply_filters( 'automator_active_integration_directories', $this->active_directories );
		Automator()->cache->set( 'automator_active_integrations', $this->active_directories );
	}

	/**
	 * Convert a hyphenated file name to a PascalCase (underscore-joined) class name.
	 *
	 * Delegates to Class_Resolver::file_name_to_class().


Scroll to Top