/** * -------------------------------------------------- * DATABASE INSTALL (CRITICAL) * -------------------------------------------------- */ global $wpdb; require_once ABSPATH . 'wp-admin/includes/upgrade.php'; $charset_collate = $wpdb->get_charset_collate(); /** * ---------------------------- * ADVERTISING SLOTS * ---------------------------- */ $slots_table = $wpdb->prefix . 'wcis_ad_slots'; $sql_slots = "CREATE TABLE $slots_table ( id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT, name VARCHAR(200) NOT NULL, width INT NOT NULL, height INT NOT NULL, location VARCHAR(200) DEFAULT '', image_url TEXT DEFAULT '', is_active TINYINT(1) DEFAULT 1, sort_order INT DEFAULT 0, created_at DATETIME DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id) ) $charset_collate;"; dbDelta($sql_slots); /** * ---------------------------- * ADVERTISING PACKAGES * ---------------------------- */ $packages_table = $wpdb->prefix . 'wcis_ad_packages'; $sql_packages = "CREATE TABLE $packages_table ( id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT, name VARCHAR(100) NOT NULL, description TEXT, is_active TINYINT(1) DEFAULT 1, sort_order INT DEFAULT 0, created_at DATETIME DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id) ) $charset_collate;"; dbDelta($sql_packages); /** * ---------------------------- * PACKAGE PRICING (DURATION) * ---------------------------- */ $prices_table = $wpdb->prefix . 'wcis_ad_package_prices'; $sql_prices = "CREATE TABLE $prices_table ( id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT, package_id BIGINT(20) UNSIGNED NOT NULL, duration_days INT NOT NULL, price DECIMAL(10,2) NOT NULL, currency VARCHAR(10) DEFAULT 'GBP', PRIMARY KEY (id), KEY package_id (package_id) ) $charset_collate;"; dbDelta($sql_prices); /** * ---------------------------- * ADVERTISING ORDERS * ---------------------------- */ $orders_table = $wpdb->prefix . 'wcis_ad_orders'; $sql_orders = "CREATE TABLE $orders_table ( id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT, order_code VARCHAR(50) NOT NULL, user_id BIGINT(20) UNSIGNED NOT NULL, slot_id BIGINT(20) UNSIGNED NOT NULL, package_id BIGINT(20) UNSIGNED NOT NULL, duration_days INT NOT NULL, payment_type VARCHAR(50), status VARCHAR(50) DEFAULT 'pending', created_at DATETIME DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id) ) $charset_collate;"; dbDelta($sql_orders); /** * ---------------------------- * DB VERSION * ---------------------------- */ update_option('wcis_ads_db_version', '1.0.0'); Where Can Istudy

Blog