initial commit
This commit is contained in:
70
includes/class-wc-integrations.php
Normal file
70
includes/class-wc-integrations.php
Normal file
@ -0,0 +1,70 @@
|
||||
<?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;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user