| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- <?php
- /**
- * WooCommerce Integrations class
- *
- * Loads Integrations into WooCommerce.
- *
- * @version 3.9.0
- * @package WooCommerce\Classes\Integrations
- */
- defined( 'ABSPATH' ) || exit;
- /**
- * Integrations class.
- */
- class WC_Integrations {
- /**
- * Array of integrations.
- *
- * @var array
- */
- public $integrations = array();
- /**
- * Initialize integrations.
- */
- public function __construct() {
- do_action( 'woocommerce_integrations_init' );
- $load_integrations = array(
- 'WC_Integration_MaxMind_Geolocation',
- );
- $load_integrations = apply_filters( 'woocommerce_integrations', $load_integrations );
- // Load integration classes.
- foreach ( $load_integrations as $integration ) {
- $load_integration = new $integration();
- $this->integrations[ $load_integration->id ] = $load_integration;
- }
- }
- /**
- * Return loaded integrations.
- *
- * @return array
- */
- public function get_integrations() {
- return $this->integrations;
- }
- /**
- * Return a desired integration.
- *
- * @since 3.9.0
- * @param string $id The id of the integration to get.
- * @return mixed|null The integration if one is found, otherwise null.
- */
- public function get_integration( $id ) {
- if ( isset( $this->integrations[ $id ] ) ) {
- return $this->integrations[ $id ];
- }
- return null;
- }
- }
|