Tribe__Dependency::register_plugin( string $file_path, string $main_class, string $version, array $classes_req = array(), array $dependencies = array() )

Register a Plugin


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


Top ↑

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 );
			}

		}

Top ↑

Changelog

Changelog
Version Description
4.9 Introduced.