Move database table creation to new WC_Admin_Install class.
Remove reliance on plugin activation hook, following pattern established in WC_Install.
This commit is contained in:
parent
432e7efaab
commit
2797883a48
|
@ -57,8 +57,6 @@ class WC_Admin_Api_Init {
|
||||||
add_action( 'plugins_loaded', array( $this, 'init_classes' ), 19 );
|
add_action( 'plugins_loaded', array( $this, 'init_classes' ), 19 );
|
||||||
// Hook in data stores.
|
// Hook in data stores.
|
||||||
add_filter( 'woocommerce_data_stores', array( 'WC_Admin_Api_Init', 'add_data_stores' ) );
|
add_filter( 'woocommerce_data_stores', array( 'WC_Admin_Api_Init', 'add_data_stores' ) );
|
||||||
// Add wc-admin report tables to list of WooCommerce tables.
|
|
||||||
add_filter( 'woocommerce_install_get_tables', array( 'WC_Admin_Api_Init', 'add_tables' ) );
|
|
||||||
// REST API extensions init.
|
// REST API extensions init.
|
||||||
add_action( 'rest_api_init', array( $this, 'rest_api_init' ) );
|
add_action( 'rest_api_init', array( $this, 'rest_api_init' ) );
|
||||||
add_filter( 'rest_endpoints', array( 'WC_Admin_Api_Init', 'filter_rest_endpoints' ), 10, 1 );
|
add_filter( 'rest_endpoints', array( 'WC_Admin_Api_Init', 'filter_rest_endpoints' ), 10, 1 );
|
||||||
|
@ -776,167 +774,6 @@ class WC_Admin_Api_Init {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds new tables.
|
|
||||||
*
|
|
||||||
* @param array $wc_tables List of WooCommerce tables.
|
|
||||||
* @return array
|
|
||||||
*/
|
|
||||||
public static function add_tables( $wc_tables ) {
|
|
||||||
global $wpdb;
|
|
||||||
|
|
||||||
return array_merge(
|
|
||||||
$wc_tables,
|
|
||||||
array(
|
|
||||||
// @todo Will this work on multisite?
|
|
||||||
"{$wpdb->prefix}wc_order_stats",
|
|
||||||
"{$wpdb->prefix}wc_order_product_lookup",
|
|
||||||
"{$wpdb->prefix}wc_order_tax_lookup",
|
|
||||||
"{$wpdb->prefix}wc_order_coupon_lookup",
|
|
||||||
"{$wpdb->prefix}wc_admin_notes",
|
|
||||||
"{$wpdb->prefix}wc_admin_note_actions",
|
|
||||||
"{$wpdb->prefix}wc_customer_lookup",
|
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get database schema.
|
|
||||||
*
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
private static function get_schema() {
|
|
||||||
global $wpdb;
|
|
||||||
|
|
||||||
if ( $wpdb->has_cap( 'collation' ) ) {
|
|
||||||
$collate = $wpdb->get_charset_collate();
|
|
||||||
}
|
|
||||||
|
|
||||||
$tables = "
|
|
||||||
CREATE TABLE {$wpdb->prefix}wc_order_stats (
|
|
||||||
order_id bigint(20) unsigned NOT NULL,
|
|
||||||
date_created timestamp DEFAULT '0000-00-00 00:00:00' NOT NULL,
|
|
||||||
num_items_sold int(11) UNSIGNED DEFAULT 0 NOT NULL,
|
|
||||||
gross_total double DEFAULT 0 NOT NULL,
|
|
||||||
coupon_total double DEFAULT 0 NOT NULL,
|
|
||||||
refund_total double DEFAULT 0 NOT NULL,
|
|
||||||
tax_total double DEFAULT 0 NOT NULL,
|
|
||||||
shipping_total double DEFAULT 0 NOT NULL,
|
|
||||||
net_total double DEFAULT 0 NOT NULL,
|
|
||||||
returning_customer boolean DEFAULT 0 NOT NULL,
|
|
||||||
status varchar(200) NOT NULL,
|
|
||||||
customer_id BIGINT UNSIGNED NOT NULL,
|
|
||||||
PRIMARY KEY (order_id),
|
|
||||||
KEY date_created (date_created),
|
|
||||||
KEY customer_id (customer_id),
|
|
||||||
KEY status (status)
|
|
||||||
) $collate;
|
|
||||||
CREATE TABLE {$wpdb->prefix}wc_order_product_lookup (
|
|
||||||
order_item_id BIGINT UNSIGNED NOT NULL,
|
|
||||||
order_id BIGINT UNSIGNED NOT NULL,
|
|
||||||
product_id BIGINT UNSIGNED NOT NULL,
|
|
||||||
variation_id BIGINT UNSIGNED NOT NULL,
|
|
||||||
customer_id BIGINT UNSIGNED NULL,
|
|
||||||
date_created timestamp DEFAULT '0000-00-00 00:00:00' NOT NULL,
|
|
||||||
product_qty INT UNSIGNED NOT NULL,
|
|
||||||
product_net_revenue double DEFAULT 0 NOT NULL,
|
|
||||||
product_gross_revenue double DEFAULT 0 NOT NULL,
|
|
||||||
coupon_amount double DEFAULT 0 NOT NULL,
|
|
||||||
tax_amount double DEFAULT 0 NOT NULL,
|
|
||||||
shipping_amount double DEFAULT 0 NOT NULL,
|
|
||||||
shipping_tax_amount double DEFAULT 0 NOT NULL,
|
|
||||||
refund_amount double DEFAULT 0 NOT NULL,
|
|
||||||
PRIMARY KEY (order_item_id),
|
|
||||||
KEY order_id (order_id),
|
|
||||||
KEY product_id (product_id),
|
|
||||||
KEY customer_id (customer_id),
|
|
||||||
KEY date_created (date_created)
|
|
||||||
) $collate;
|
|
||||||
CREATE TABLE {$wpdb->prefix}wc_order_tax_lookup (
|
|
||||||
order_id BIGINT UNSIGNED NOT NULL,
|
|
||||||
tax_rate_id BIGINT UNSIGNED NOT NULL,
|
|
||||||
date_created timestamp DEFAULT '0000-00-00 00:00:00' NOT NULL,
|
|
||||||
shipping_tax double DEFAULT 0 NOT NULL,
|
|
||||||
order_tax double DEFAULT 0 NOT NULL,
|
|
||||||
total_tax double DEFAULT 0 NOT NULL,
|
|
||||||
PRIMARY KEY (order_id, tax_rate_id),
|
|
||||||
KEY tax_rate_id (tax_rate_id),
|
|
||||||
KEY date_created (date_created)
|
|
||||||
) $collate;
|
|
||||||
CREATE TABLE {$wpdb->prefix}wc_order_coupon_lookup (
|
|
||||||
order_id BIGINT UNSIGNED NOT NULL,
|
|
||||||
coupon_id BIGINT UNSIGNED NOT NULL,
|
|
||||||
date_created timestamp DEFAULT '0000-00-00 00:00:00' NOT NULL,
|
|
||||||
discount_amount double DEFAULT 0 NOT NULL,
|
|
||||||
PRIMARY KEY (order_id, coupon_id),
|
|
||||||
KEY coupon_id (coupon_id),
|
|
||||||
KEY date_created (date_created)
|
|
||||||
) $collate;
|
|
||||||
CREATE TABLE {$wpdb->prefix}wc_admin_notes (
|
|
||||||
note_id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
||||||
name varchar(255) NOT NULL,
|
|
||||||
type varchar(20) NOT NULL,
|
|
||||||
locale varchar(20) NOT NULL,
|
|
||||||
title longtext NOT NULL,
|
|
||||||
content longtext NOT NULL,
|
|
||||||
icon varchar(200) NOT NULL,
|
|
||||||
content_data longtext NULL default null,
|
|
||||||
status varchar(200) NOT NULL,
|
|
||||||
source varchar(200) NOT NULL,
|
|
||||||
date_created datetime NOT NULL default '0000-00-00 00:00:00',
|
|
||||||
date_reminder datetime NULL default null,
|
|
||||||
PRIMARY KEY (note_id)
|
|
||||||
) $collate;
|
|
||||||
CREATE TABLE {$wpdb->prefix}wc_admin_note_actions (
|
|
||||||
action_id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
||||||
note_id BIGINT UNSIGNED NOT NULL,
|
|
||||||
name varchar(255) NOT NULL,
|
|
||||||
label varchar(255) NOT NULL,
|
|
||||||
query longtext NOT NULL,
|
|
||||||
PRIMARY KEY (action_id),
|
|
||||||
KEY note_id (note_id)
|
|
||||||
) $collate;
|
|
||||||
CREATE TABLE {$wpdb->prefix}wc_customer_lookup (
|
|
||||||
customer_id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
||||||
user_id BIGINT UNSIGNED DEFAULT NULL,
|
|
||||||
username varchar(60) DEFAULT '' NOT NULL,
|
|
||||||
first_name varchar(255) NOT NULL,
|
|
||||||
last_name varchar(255) NOT NULL,
|
|
||||||
email varchar(100) NOT NULL,
|
|
||||||
date_last_active timestamp NULL default null,
|
|
||||||
date_registered timestamp NULL default null,
|
|
||||||
country char(2) DEFAULT '' NOT NULL,
|
|
||||||
postcode varchar(20) DEFAULT '' NOT NULL,
|
|
||||||
city varchar(100) DEFAULT '' NOT NULL,
|
|
||||||
PRIMARY KEY (customer_id),
|
|
||||||
UNIQUE KEY user_id (user_id),
|
|
||||||
KEY email (email)
|
|
||||||
) $collate;
|
|
||||||
";
|
|
||||||
|
|
||||||
return $tables;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create database tables.
|
|
||||||
*/
|
|
||||||
public static function create_db_tables() {
|
|
||||||
require_once ABSPATH . 'wp-admin/includes/upgrade.php';
|
|
||||||
|
|
||||||
dbDelta( self::get_schema() );
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Install plugin.
|
|
||||||
*/
|
|
||||||
public static function install() {
|
|
||||||
// Create tables.
|
|
||||||
self::create_db_tables();
|
|
||||||
|
|
||||||
// Initialize report tables.
|
|
||||||
add_action( 'woocommerce_after_register_post_type', array( __CLASS__, 'regenerate_report_data' ), 20 );
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add the currency symbol (in addition to currency code) to each Order
|
* Add the currency symbol (in addition to currency code) to each Order
|
||||||
* object in REST API responses. For use in formatCurrency().
|
* object in REST API responses. For use in formatCurrency().
|
||||||
|
|
|
@ -0,0 +1,265 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Installation related functions and actions.
|
||||||
|
*
|
||||||
|
* @package WooCommerce Admin/Classes
|
||||||
|
*/
|
||||||
|
|
||||||
|
defined( 'ABSPATH' ) || exit;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* WC_Admin_Install Class.
|
||||||
|
*/
|
||||||
|
class WC_Admin_Install {
|
||||||
|
/**
|
||||||
|
* Plugin version.
|
||||||
|
*
|
||||||
|
* @TODO: get this dynamically?
|
||||||
|
*/
|
||||||
|
const VERSION_NUMBER = '0.6.0';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Plugin version option name.
|
||||||
|
*/
|
||||||
|
const VERSION_OPTION = 'wc_admin_version';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DB updates and callbacks that need to be run per version.
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
private static $db_updates = array();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Hook in tabs.
|
||||||
|
*/
|
||||||
|
public static function init() {
|
||||||
|
add_action( 'init', array( __CLASS__, 'check_version' ), 5 );
|
||||||
|
add_filter( 'wpmu_drop_tables', array( __CLASS__, 'wpmu_drop_tables' ) );
|
||||||
|
|
||||||
|
// Add wc-admin report tables to list of WooCommerce tables.
|
||||||
|
add_filter( 'woocommerce_install_get_tables', array( __CLASS__, 'add_tables' ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check WC Admin version and run the updater is required.
|
||||||
|
*
|
||||||
|
* This check is done on all requests and runs if the versions do not match.
|
||||||
|
*/
|
||||||
|
public static function check_version() {
|
||||||
|
if (
|
||||||
|
! defined( 'IFRAME_REQUEST' ) &&
|
||||||
|
version_compare( get_option( self::VERSION_OPTION ), self::VERSION_NUMBER, '<' )
|
||||||
|
) {
|
||||||
|
self::install();
|
||||||
|
do_action( 'wc_admin_updated' );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Install WC Admin.
|
||||||
|
*/
|
||||||
|
public static function install() {
|
||||||
|
if ( ! is_blog_installed() ) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check if we are not already running this routine.
|
||||||
|
if ( 'yes' === get_transient( 'wc_admin_installing' ) ) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// If we made it till here nothing is running yet, lets set the transient now.
|
||||||
|
set_transient( 'wc_admin_installing', 'yes', MINUTE_IN_SECONDS * 10 );
|
||||||
|
wc_maybe_define_constant( 'WC_ADMIN_INSTALLING', true );
|
||||||
|
|
||||||
|
self::create_tables();
|
||||||
|
self::update_wc_admin_version();
|
||||||
|
|
||||||
|
delete_transient( 'wc_admin_installing' );
|
||||||
|
|
||||||
|
do_action( 'woocommerce_flush_rewrite_rules' ); // ?
|
||||||
|
do_action( 'wc_admin_installed' );
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get database schema.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
private static function get_schema() {
|
||||||
|
global $wpdb;
|
||||||
|
|
||||||
|
if ( $wpdb->has_cap( 'collation' ) ) {
|
||||||
|
$collate = $wpdb->get_charset_collate();
|
||||||
|
}
|
||||||
|
|
||||||
|
$tables = "
|
||||||
|
CREATE TABLE {$wpdb->prefix}wc_order_stats (
|
||||||
|
order_id bigint(20) unsigned NOT NULL,
|
||||||
|
date_created timestamp DEFAULT '0000-00-00 00:00:00' NOT NULL,
|
||||||
|
num_items_sold int(11) UNSIGNED DEFAULT 0 NOT NULL,
|
||||||
|
gross_total double DEFAULT 0 NOT NULL,
|
||||||
|
coupon_total double DEFAULT 0 NOT NULL,
|
||||||
|
refund_total double DEFAULT 0 NOT NULL,
|
||||||
|
tax_total double DEFAULT 0 NOT NULL,
|
||||||
|
shipping_total double DEFAULT 0 NOT NULL,
|
||||||
|
net_total double DEFAULT 0 NOT NULL,
|
||||||
|
returning_customer boolean DEFAULT 0 NOT NULL,
|
||||||
|
status varchar(200) NOT NULL,
|
||||||
|
customer_id BIGINT UNSIGNED NOT NULL,
|
||||||
|
PRIMARY KEY (order_id),
|
||||||
|
KEY date_created (date_created),
|
||||||
|
KEY customer_id (customer_id),
|
||||||
|
KEY status (status)
|
||||||
|
) $collate;
|
||||||
|
CREATE TABLE {$wpdb->prefix}wc_order_product_lookup (
|
||||||
|
order_item_id BIGINT UNSIGNED NOT NULL,
|
||||||
|
order_id BIGINT UNSIGNED NOT NULL,
|
||||||
|
product_id BIGINT UNSIGNED NOT NULL,
|
||||||
|
variation_id BIGINT UNSIGNED NOT NULL,
|
||||||
|
customer_id BIGINT UNSIGNED NULL,
|
||||||
|
date_created timestamp DEFAULT '0000-00-00 00:00:00' NOT NULL,
|
||||||
|
product_qty INT UNSIGNED NOT NULL,
|
||||||
|
product_net_revenue double DEFAULT 0 NOT NULL,
|
||||||
|
product_gross_revenue double DEFAULT 0 NOT NULL,
|
||||||
|
coupon_amount double DEFAULT 0 NOT NULL,
|
||||||
|
tax_amount double DEFAULT 0 NOT NULL,
|
||||||
|
shipping_amount double DEFAULT 0 NOT NULL,
|
||||||
|
shipping_tax_amount double DEFAULT 0 NOT NULL,
|
||||||
|
refund_amount double DEFAULT 0 NOT NULL,
|
||||||
|
PRIMARY KEY (order_item_id),
|
||||||
|
KEY order_id (order_id),
|
||||||
|
KEY product_id (product_id),
|
||||||
|
KEY customer_id (customer_id),
|
||||||
|
KEY date_created (date_created)
|
||||||
|
) $collate;
|
||||||
|
CREATE TABLE {$wpdb->prefix}wc_order_tax_lookup (
|
||||||
|
order_id BIGINT UNSIGNED NOT NULL,
|
||||||
|
tax_rate_id BIGINT UNSIGNED NOT NULL,
|
||||||
|
date_created timestamp DEFAULT '0000-00-00 00:00:00' NOT NULL,
|
||||||
|
shipping_tax double DEFAULT 0 NOT NULL,
|
||||||
|
order_tax double DEFAULT 0 NOT NULL,
|
||||||
|
total_tax double DEFAULT 0 NOT NULL,
|
||||||
|
PRIMARY KEY (order_id, tax_rate_id),
|
||||||
|
KEY tax_rate_id (tax_rate_id),
|
||||||
|
KEY date_created (date_created)
|
||||||
|
) $collate;
|
||||||
|
CREATE TABLE {$wpdb->prefix}wc_order_coupon_lookup (
|
||||||
|
order_id BIGINT UNSIGNED NOT NULL,
|
||||||
|
coupon_id BIGINT UNSIGNED NOT NULL,
|
||||||
|
date_created timestamp DEFAULT '0000-00-00 00:00:00' NOT NULL,
|
||||||
|
discount_amount double DEFAULT 0 NOT NULL,
|
||||||
|
PRIMARY KEY (order_id, coupon_id),
|
||||||
|
KEY coupon_id (coupon_id),
|
||||||
|
KEY date_created (date_created)
|
||||||
|
) $collate;
|
||||||
|
CREATE TABLE {$wpdb->prefix}wc_admin_notes (
|
||||||
|
note_id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||||
|
name varchar(255) NOT NULL,
|
||||||
|
type varchar(20) NOT NULL,
|
||||||
|
locale varchar(20) NOT NULL,
|
||||||
|
title longtext NOT NULL,
|
||||||
|
content longtext NOT NULL,
|
||||||
|
icon varchar(200) NOT NULL,
|
||||||
|
content_data longtext NULL default null,
|
||||||
|
status varchar(200) NOT NULL,
|
||||||
|
source varchar(200) NOT NULL,
|
||||||
|
date_created datetime NOT NULL default '0000-00-00 00:00:00',
|
||||||
|
date_reminder datetime NULL default null,
|
||||||
|
PRIMARY KEY (note_id)
|
||||||
|
) $collate;
|
||||||
|
CREATE TABLE {$wpdb->prefix}wc_admin_note_actions (
|
||||||
|
action_id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||||
|
note_id BIGINT UNSIGNED NOT NULL,
|
||||||
|
name varchar(255) NOT NULL,
|
||||||
|
label varchar(255) NOT NULL,
|
||||||
|
query longtext NOT NULL,
|
||||||
|
PRIMARY KEY (action_id),
|
||||||
|
KEY note_id (note_id)
|
||||||
|
) $collate;
|
||||||
|
CREATE TABLE {$wpdb->prefix}wc_customer_lookup (
|
||||||
|
customer_id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||||
|
user_id BIGINT UNSIGNED DEFAULT NULL,
|
||||||
|
username varchar(60) DEFAULT '' NOT NULL,
|
||||||
|
first_name varchar(255) NOT NULL,
|
||||||
|
last_name varchar(255) NOT NULL,
|
||||||
|
email varchar(100) NOT NULL,
|
||||||
|
date_last_active timestamp NULL default null,
|
||||||
|
date_registered timestamp NULL default null,
|
||||||
|
country char(2) DEFAULT '' NOT NULL,
|
||||||
|
postcode varchar(20) DEFAULT '' NOT NULL,
|
||||||
|
city varchar(100) DEFAULT '' NOT NULL,
|
||||||
|
PRIMARY KEY (customer_id),
|
||||||
|
UNIQUE KEY user_id (user_id),
|
||||||
|
KEY email (email)
|
||||||
|
) $collate;
|
||||||
|
";
|
||||||
|
|
||||||
|
return $tables;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create database tables.
|
||||||
|
*/
|
||||||
|
public static function create_tables() {
|
||||||
|
require_once ABSPATH . 'wp-admin/includes/upgrade.php';
|
||||||
|
|
||||||
|
dbDelta( self::get_schema() );
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return a list of tables. Used to make sure all WC Admin tables are dropped
|
||||||
|
* when uninstalling the plugin in a single site or multi site environment.
|
||||||
|
*
|
||||||
|
* @return array WC tables.
|
||||||
|
*/
|
||||||
|
public static function get_tables() {
|
||||||
|
global $wpdb;
|
||||||
|
|
||||||
|
return array(
|
||||||
|
// @todo Will this work on multisite?
|
||||||
|
"{$wpdb->prefix}wc_order_stats",
|
||||||
|
"{$wpdb->prefix}wc_order_product_lookup",
|
||||||
|
"{$wpdb->prefix}wc_order_tax_lookup",
|
||||||
|
"{$wpdb->prefix}wc_order_coupon_lookup",
|
||||||
|
"{$wpdb->prefix}wc_admin_notes",
|
||||||
|
"{$wpdb->prefix}wc_admin_note_actions",
|
||||||
|
"{$wpdb->prefix}wc_customer_lookup",
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Adds new tables.
|
||||||
|
*
|
||||||
|
* @param array $wc_tables List of WooCommerce tables.
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public static function add_tables( $wc_tables ) {
|
||||||
|
return array_merge(
|
||||||
|
$wc_tables,
|
||||||
|
self::get_tables()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Uninstall tables when MU blog is deleted.
|
||||||
|
*
|
||||||
|
* @param array $tables List of tables that will be deleted by WP.
|
||||||
|
*
|
||||||
|
* @return string[]
|
||||||
|
*/
|
||||||
|
public static function wpmu_drop_tables( $tables ) {
|
||||||
|
return array_merge( $tables, self::get_tables() );
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update WC Admin version to current.
|
||||||
|
*/
|
||||||
|
private static function update_wc_admin_version() {
|
||||||
|
delete_option( self::VERSION_OPTION );
|
||||||
|
add_option( self::VERSION_OPTION, self::VERSION_NUMBER );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
WC_Admin_Install::init();
|
|
@ -98,16 +98,12 @@ function do_wc_admin_daily() {
|
||||||
add_action( 'wc_admin_daily', 'do_wc_admin_daily' );
|
add_action( 'wc_admin_daily', 'do_wc_admin_daily' );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Activates wc-admin plugin when installed.
|
* Initializes wc-admin daily action when plugin activated.
|
||||||
*/
|
*/
|
||||||
function activate_wc_admin_plugin() {
|
function activate_wc_admin_plugin() {
|
||||||
if ( ! dependencies_satisfied() ) {
|
if ( ! dependencies_satisfied() ) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// Initialize the WC API extensions.
|
|
||||||
require_once dirname( __FILE__ ) . '/includes/class-wc-admin-api-init.php';
|
|
||||||
|
|
||||||
WC_Admin_Api_Init::install();
|
|
||||||
|
|
||||||
if ( ! wp_next_scheduled( 'wc_admin_daily' ) ) {
|
if ( ! wp_next_scheduled( 'wc_admin_daily' ) ) {
|
||||||
wp_schedule_event( time(), 'daily', 'wc_admin_daily' );
|
wp_schedule_event( time(), 'daily', 'wc_admin_daily' );
|
||||||
|
@ -134,23 +130,6 @@ function deactivate_wc_admin_plugin() {
|
||||||
}
|
}
|
||||||
register_deactivation_hook( WC_ADMIN_PLUGIN_FILE, 'deactivate_wc_admin_plugin' );
|
register_deactivation_hook( WC_ADMIN_PLUGIN_FILE, 'deactivate_wc_admin_plugin' );
|
||||||
|
|
||||||
/**
|
|
||||||
* Update the database tables if needed. This hooked function does NOT need to
|
|
||||||
* be ported to WooCommerce's code base - WC_Install will do this on plugin
|
|
||||||
* update automatically.
|
|
||||||
*/
|
|
||||||
function wc_admin_init() {
|
|
||||||
if ( ! dependencies_satisfied() ) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Only create/update tables on init if WP_DEBUG is true.
|
|
||||||
if ( defined( 'WP_DEBUG' ) && WP_DEBUG && wc_admin_build_file_exists() ) {
|
|
||||||
WC_Admin_Api_Init::create_db_tables();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
add_action( 'init', 'wc_admin_init' );
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set up the plugin, only if we can detect both Gutenberg and WooCommerce
|
* Set up the plugin, only if we can detect both Gutenberg and WooCommerce
|
||||||
*/
|
*/
|
||||||
|
@ -161,6 +140,7 @@ function wc_admin_plugins_loaded() {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Initialize the WC API extensions.
|
// Initialize the WC API extensions.
|
||||||
|
require_once dirname( __FILE__ ) . '/includes/class-wc-admin-install.php';
|
||||||
require_once dirname( __FILE__ ) . '/includes/class-wc-admin-api-init.php';
|
require_once dirname( __FILE__ ) . '/includes/class-wc-admin-api-init.php';
|
||||||
|
|
||||||
// Some common utilities.
|
// Some common utilities.
|
||||||
|
|
Loading…
Reference in New Issue