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().