prefix . 'wzhf_orders'; $charset = $wpdb->get_charset_collate(); $sql = "CREATE TABLE {$table} ( wc_order_id BIGINT UNSIGNED NOT NULL, zoho_salesorder_id VARCHAR(64) NOT NULL, PRIMARY KEY (wc_order_id), KEY zoho_salesorder_id (zoho_salesorder_id) ) $charset;"; require_once ABSPATH . 'wp-admin/includes/upgrade.php'; dbDelta($sql); }); add_action('admin_init', function(){ if ( get_option('wzhf_missing_wc_on_activation') === '1' ) { delete_option('wzhf_missing_wc_on_activation'); if ( function_exists('is_plugin_active') && is_plugin_active(plugin_basename(__FILE__)) ) { deactivate_plugins(plugin_basename(__FILE__)); } add_action('admin_notices', function(){ echo '

WooZoho Fulfillment: WooCommerce не активирован. Плагин отключён.

'; }); } }); // Includes require_once __DIR__.'/inc/helpers.php'; require_once __DIR__.'/inc/class-logger.php'; require_once __DIR__.'/inc/class-zoho.php'; require_once __DIR__.'/inc/class-orders-sync.php'; require_once __DIR__.'/inc/class-webhooks.php'; require_once __DIR__.'/inc/class-inventory-sync.php'; require_once __DIR__.'/inc/class-tracking-sync.php'; require_once __DIR__.'/inc/class-inbound-email.php'; require_once __DIR__.'/inc/class-tools.php'; require_once __DIR__.'/inc/class-admin.php'; add_action('init', function (){ add_action('rest_api_init', function(){ register_rest_route(WZHF_NS, '/oauth/callback', array( 'methods'=>'GET','callback'=>array('WZHF_Zoho','oauth_callback'),'permission_callback'=>'__return_true' )); register_rest_route(WZHF_NS, '/webhook', array( 'methods'=>'POST','callback'=>array('WZHF_Webhooks','handle'),'permission_callback'=>'__return_true' )); }); }); add_action('plugins_loaded', function(){ new WZHF_Admin(); WZHF_Orders_Sync::bootstrap(); WZHF_Inventory_Sync::bootstrap(); WZHF_Webhooks::bootstrap(); WZHF_Tracking_Sync::bootstrap(); WZHF_Inbound_Email::bootstrap(); WZHF_Tools::bootstrap(); });