Files
WooDoo/uninstall.php
Malin 68c1ff4455 feat: initial WooDoo plugin – WooCommerce & Odoo 19 integration
- Odoo JSON-RPC client (no Composer, uses wp_remote_post)
- Admin settings page under WooCommerce with connection test
- Customer linking: search Odoo partners from WP user profile
- My Account: Odoo Invoices tab with PDF proxy download
- My Account: Book a Meeting tab (slot calculator + calendar.event)
- WC order → Odoo sale.order auto-sync on processing status
- Products matched by SKU; partner auto-created from billing info
- Uninstall cleanup (options, user meta, order meta, DB table)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-01 13:58:27 +02:00

46 lines
1.2 KiB
PHP

<?php
/**
* Runs when the plugin is deleted from the WP admin.
* Removes all options and the customer-links table.
*/
defined( 'WP_UNINSTALL_PLUGIN' ) || exit;
// Remove plugin options
$options = [
'woodoo_odoo_url',
'woodoo_odoo_db',
'woodoo_odoo_username',
'woodoo_odoo_api_key',
'woodoo_meeting_duration',
'woodoo_available_days',
'woodoo_available_from',
'woodoo_available_to',
'woodoo_meeting_title_prefix',
'woodoo_sync_orders',
];
foreach ( $options as $opt ) {
delete_option( $opt );
}
// Remove user meta
global $wpdb;
$wpdb->query( "DELETE FROM {$wpdb->usermeta} WHERE meta_key IN (
'woodoo_odoo_partner_id',
'woodoo_odoo_partner_name',
'woodoo_so_count'
)" );
// Remove order meta
$wpdb->query( "DELETE FROM {$wpdb->postmeta} WHERE meta_key IN (
'_woodoo_so_id',
'_woodoo_partner_id'
)" );
// Drop custom table
$wpdb->query( "DROP TABLE IF EXISTS {$wpdb->prefix}woodoo_customer_links" );
// Clear any transients
$wpdb->query( "DELETE FROM {$wpdb->options} WHERE option_name LIKE '_transient_woodoo_%'" );
$wpdb->query( "DELETE FROM {$wpdb->options} WHERE option_name LIKE '_transient_timeout_woodoo_%'" );