woocommerce/woocommerce.php

73 lines
1.9 KiB
PHP
Raw Normal View History

2011-08-10 17:11:11 +00:00
<?php
2012-03-20 13:22:35 +00:00
/**
* Plugin Name: WooCommerce
2016-07-05 22:52:16 +00:00
* Plugin URI: https://woocommerce.com/
* Description: An eCommerce toolkit that helps you sell anything. Beautifully.
* Version: 4.4.0-dev
2017-02-09 17:08:39 +00:00
* Author: Automattic
* Author URI: https://woocommerce.com
2012-03-20 13:22:35 +00:00
* Text Domain: woocommerce
* Domain Path: /i18n/languages/
2020-05-27 22:44:30 +00:00
* Requires at least: 5.2
2020-05-27 12:58:41 +00:00
* Requires PHP: 7.0
2012-08-07 08:38:08 +00:00
*
2012-03-20 13:22:35 +00:00
* @package WooCommerce
*/
2019-01-23 16:19:40 +00:00
defined( 'ABSPATH' ) || exit;
2011-08-10 17:11:11 +00:00
use Automattic\WooCommerce\Tools\DependencyManagement\ObjectContainer;
if ( ! defined( 'WC_PLUGIN_FILE' ) ) {
define( 'WC_PLUGIN_FILE', __FILE__ );
}
2020-04-07 00:07:33 +00:00
// Load core packages and the autoloader.
require __DIR__ . '/src/Autoloader.php';
require __DIR__ . '/src/Packages.php';
2020-04-07 00:07:33 +00:00
if ( ! \Automattic\WooCommerce\Autoloader::init() ) {
return;
}
2020-04-07 00:07:33 +00:00
\Automattic\WooCommerce\Packages::init();
// Define a simple autoloader for the object container to work.
// Function grabbed from https://container.thephpleague.com/3.x
spl_autoload_register(
function ( $class ) {
$prefix = 'Automattic\\WooCommerce\\';
$base_dir = __DIR__ . '/src/';
$len = strlen( $prefix );
if ( strncmp( $prefix, $class, $len ) !== 0 ) {
// no, move to the next registered autoloader
return;
}
$relative_class = substr( $class, $len );
$file = $base_dir . str_replace( '\\', '/', $relative_class ) . '.php';
if ( file_exists( $file ) ) {
require $file;
}
}
);
// Include the main WooCommerce class.
if ( ! class_exists( 'WooCommerce', false ) ) {
include_once dirname( WC_PLUGIN_FILE ) . '/includes/class-woocommerce.php';
}
// Initialize dependency injection.
ObjectContainer::init();
/**
2019-01-23 16:19:40 +00:00
* Returns the main instance of WC.
*
* @since 2.1
2013-09-25 13:10:40 +00:00
* @return WooCommerce
*/
2019-02-18 11:55:36 +00:00
function WC() { // phpcs:ignore WordPress.NamingConventions.ValidFunctionName.FunctionNameInvalid
return ObjectContainer::get_instance_of( WooCommerce::class );
}
2011-12-08 12:50:50 +00:00
// Global for backwards compatibility.
2018-11-08 10:59:07 +00:00
$GLOBALS['woocommerce'] = WC();