query( "DELETE FROM {$wpdb->options} WHERE option_name LIKE 'sixrsh_event_%'" ); // phpcs:enable // Drop custom tables. // phpcs:disable WordPress.DB.DirectDatabaseQuery $wpdb->query( "DROP TABLE IF EXISTS {$wpdb->prefix}sixrsh_carts" ); $wpdb->query( "DROP TABLE IF EXISTS {$wpdb->prefix}sixrsh_logs" ); // phpcs:enable WordPress.DB.DirectDatabaseQuery // Clear cron events. wp_clear_scheduled_hook( 'sixrsh_send_order_notification' ); wp_clear_scheduled_hook( 'sixrsh_send_customer_notification' ); wp_clear_scheduled_hook( 'sixrsh_sync_cart' ); wp_clear_scheduled_hook( 'sixrsh_cron_cleanup' ); // Delete transients. delete_transient( 'sixrsh_available_templates' ); delete_transient( 'sixrsh_failure_count' ); // Delete plugin directory using WP_Filesystem so file permissions don't block deletion. if ( ! function_exists( 'WP_Filesystem' ) ) { require_once ABSPATH . 'wp-admin/includes/file.php'; } $creds = request_filesystem_credentials( '' ); if ( $creds && WP_Filesystem( $creds ) ) { global $wp_filesystem; $plugin_dir = plugin_dir_path( __FILE__ ); if ( $wp_filesystem->is_dir( $plugin_dir ) ) { $wp_filesystem->delete( $plugin_dir, true ); } }