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();
});