Tribe__Dependency::register_plugin( string $file_path, string $main_class, string $version, array $classes_req = array(), array $dependencies = array() )
Register a Plugin
Contents
Parameters
- $file_path
-
(string) (Required) Full file path to the base plugin file.
- $main_class
-
(string) (Required) The Main/base class for this plugin.
- $version
-
(string) (Required) The plugin version.
- $classes_req
-
(array) (Optional) Any Main class files/tribe plugins required for this to run.
Default value: array()
- $dependencies
-
(array) (Optional) an array of dependencies to check.
Default value: array()
Source
File: src/Tribe/Dependency.php
public function register_plugin( $file_path, $main_class, $version, $classes_req = array(), $dependencies = array() ) {
/**
* Filters the version string for a plugin.
*
* @since 4.9
*
* @param string $version The plugin version number, e.g. "4.0.4".
* @param array $dependencies An array of dependencies for the plugins. These can include parent, add-on and other dependencies.
* @param string $file_path The absolute path to the plugin main file.
* @param array $classes_req Any Main class files/tribe plugins required for this to run.
*/
$version = apply_filters( "tribe_register_{$main_class}_plugin_version", $version, $dependencies, $file_path, $classes_req );
/**
* Filters the dependencies array for a plugin.
*
* @since 4.9
*
* @param array $dependencies An array of dependencies for the plugins. These can include parent, add-on and other dependencies.
* @param string $version The plugin version number, e.g. "4.0.4".
* @param string $file_path The absolute path to the plugin main file.
* @param array $classes_req Any Main class files/tribe plugins required for this to run.
*/
$dependencies = apply_filters( "tribe_register_{$main_class}_plugin_dependencies", $dependencies, $version, $file_path, $classes_req );
//add all plugins to registered_plugins
$this->add_registered_plugin( $main_class, $version, $file_path, $dependencies );
// Checks to see if the plugins are active for extensions
if ( ! empty( $classes_req ) && ! $this->has_requisite_plugins( $classes_req ) ) {
$tribe_plugins = new Tribe__Plugins();
foreach ( $classes_req as $class => $plugin_version ) {
$plugin = $tribe_plugins->get_plugin_by_class( $class );
$is_active = $this->is_plugin_version( $class, $plugin_version );
$this->admin_messages[ $main_class ]->add_required_plugin( $plugin['short_name'], $plugin['thickbox_url'], $is_active, $plugin_version );
}
}
// only set The Events Calendar and Event Tickets to Active when registering
if ( 'Tribe__Events__Main' === $main_class || 'Tribe__Tickets__Main' === $main_class ) {
$this->add_active_plugin( $main_class, $version, $file_path );
}
}
Changelog
| Version | Description |
|---|---|
| 4.9 | Introduced. |