woocommerce / woocommerce

A customizable, open-source ecommerce platform built on WordPress. Build any commerce solution you can imagine.
https://woocommerce.com
9.42k stars 10.77k forks source link

[7.1 beta]: delete_meta_data() function bug #35490

Closed basile67 closed 1 year ago

basile67 commented 2 years ago

Prerequisites

Describe the bug

When the "Use the WooCommerce orders tables" feature is enabled then the function delete_meta_data( $metaKey ) is not working. It deletes order meta by the given meta key but only from the new table wc_orders_meta. So after a while the meta key apperas again in the table because it remains in the postmeta table. This happen when the table sychronization is enabled with transaction enabled or not. I didn't tested if this happens when the synchronization is disabled. I found a work around for the moment: first I make a call to delete_postmeta( $postID, $metaKey ) and then delete_meta_data( $metaKey )

Expected behavior

The given order meta be deleted.

Actual behavior

The given order meta be deleted only from wc_orders_meta and remains in postmeta table. So with data sychronization it apears again in wc_orders_meta table.

Steps to reproduce

  1. Call function delete_meta_data( $metaKey )
  2. Check the wc_order_meta and postmeta table records

WordPress Environment

`

WordPress Environment

WordPress address (URL): https://www.brand-lines.com Site address (URL): https://www.brand-lines.com WC Version: 7.1.0 REST API Version: ✔ 7.1.0 WC Blocks Version: ✔ 8.7.4 Action Scheduler Version: ✔ 3.4.0 Log Directory Writable: ✔ WP Version: 6.1 WP Multisite: – WP Memory Limit: 256 MB WP Debug Mode: ✔ WP Cron: – Language: el External object cache: –

Server Environment

Server Info: Apache PHP Version: 7.4.32 PHP Post Max Size: 64 MB PHP Time Limit: 120 PHP Max Input Vars: 4000 cURL Version: 7.64.0 OpenSSL/1.1.1n

SUHOSIN Installed: – MySQL Version: 5.5.5-10.3.36-MariaDB-0+deb10u2 Max Upload Size: 64 MB Default Timezone is UTC: ✔ fsockopen/cURL: ✔ SoapClient: ✔ DOMDocument: ✔ GZip: ✔ Multibyte String: ✔ Remote Post: ✔ Remote Get: ✔

Database

WC Database Version: 7.1.0 WC Database Prefix: bl01_ Συνολικό μέγεθος βάσης δεδομένων: 7.13MB Μέγεθος βάσης δεδομένων: 5.05MB Μέγεθος ευρετηρίου βάσης δεδομένων: 2.08MB bl01_woocommerce_sessions: Δεδομένα: 0.02MB + Ευρετήρια: 0.02MB + Μηχανή InnoDB. bl01_woocommerce_api_keys: Δεδομένα: 0.02MB + Ευρετήρια: 0.03MB + Μηχανή InnoDB. bl01_woocommerce_attribute_taxonomies: Δεδομένα: 0.02MB + Ευρετήρια: 0.02MB + Μηχανή InnoDB. bl01_woocommerce_downloadable_product_permissions: Δεδομένα: 0.02MB + Ευρετήρια: 0.06MB + Μηχανή InnoDB. bl01_woocommerce_order_items: Δεδομένα: 0.02MB + Ευρετήρια: 0.02MB + Μηχανή InnoDB. bl01_woocommerce_order_itemmeta: Δεδομένα: 0.05MB + Ευρετήρια: 0.03MB + Μηχανή InnoDB. bl01_woocommerce_tax_rates: Δεδομένα: 0.02MB + Ευρετήρια: 0.06MB + Μηχανή InnoDB. bl01_woocommerce_tax_rate_locations: Δεδομένα: 0.02MB + Ευρετήρια: 0.03MB + Μηχανή InnoDB. bl01_woocommerce_shipping_zones: Δεδομένα: 0.02MB + Ευρετήρια: 0.00MB + Μηχανή InnoDB. bl01_woocommerce_shipping_zone_locations: Δεδομένα: 0.02MB + Ευρετήρια: 0.03MB + Μηχανή InnoDB. bl01_woocommerce_shipping_zone_methods: Δεδομένα: 0.02MB + Ευρετήρια: 0.00MB + Μηχανή InnoDB. bl01_woocommerce_payment_tokens: Δεδομένα: 0.02MB + Ευρετήρια: 0.02MB + Μηχανή InnoDB. bl01_woocommerce_payment_tokenmeta: Δεδομένα: 0.02MB + Ευρετήρια: 0.03MB + Μηχανή InnoDB. bl01_woocommerce_log: Δεδομένα: 0.02MB + Ευρετήρια: 0.02MB + Μηχανή InnoDB. bl01_actionscheduler_actions: Δεδομένα: 0.09MB + Ευρετήρια: 0.11MB + Μηχανή InnoDB. bl01_actionscheduler_claims: Δεδομένα: 0.02MB + Ευρετήρια: 0.02MB + Μηχανή InnoDB. bl01_actionscheduler_groups: Δεδομένα: 0.02MB + Ευρετήρια: 0.02MB + Μηχανή InnoDB. bl01_actionscheduler_logs: Δεδομένα: 0.09MB + Ευρετήρια: 0.06MB + Μηχανή InnoDB. bl01_akeeba_common: Δεδομένα: 0.02MB + Ευρετήρια: 0.00MB + Μηχανή InnoDB. bl01_ak_params: Δεδομένα: 0.02MB + Ευρετήρια: 0.00MB + Μηχανή InnoDB. bl01_ak_profiles: Δεδομένα: 0.02MB + Ευρετήρια: 0.00MB + Μηχανή InnoDB. bl01_ak_stats: Δεδομένα: 0.02MB + Ευρετήρια: 0.03MB + Μηχανή InnoDB. bl01_ak_storage: Δεδομένα: 0.02MB + Ευρετήρια: 0.00MB + Μηχανή InnoDB. bl01_ak_users: Δεδομένα: 0.02MB + Ευρετήρια: 0.00MB + Μηχανή InnoDB. bl01_commentmeta: Δεδομένα: 0.02MB + Ευρετήρια: 0.03MB + Μηχανή InnoDB. bl01_comments: Δεδομένα: 0.09MB + Ευρετήρια: 0.09MB + Μηχανή InnoDB. bl01_irecommendthis_votes: Δεδομένα: 0.02MB + Ευρετήρια: 0.00MB + Μηχανή InnoDB. bl01_links: Δεδομένα: 0.02MB + Ευρετήρια: 0.02MB + Μηχανή InnoDB. bl01_options: Δεδομένα: 3.02MB + Ευρετήρια: 0.08MB + Μηχανή InnoDB. bl01_postmark_log: Δεδομένα: 0.09MB + Ευρετήρια: 0.00MB + Μηχανή InnoDB. bl01_postmeta: Δεδομένα: 0.19MB + Ευρετήρια: 0.16MB + Μηχανή InnoDB. bl01_posts: Δεδομένα: 0.09MB + Ευρετήρια: 0.06MB + Μηχανή InnoDB. bl01_realmedialibrary: Δεδομένα: 0.02MB + Ευρετήρια: 0.00MB + Μηχανή InnoDB. bl01_realmedialibrary_meta: Δεδομένα: 0.02MB + Ευρετήρια: 0.03MB + Μηχανή InnoDB. bl01_realmedialibrary_posts: Δεδομένα: 0.02MB + Ευρετήρια: 0.02MB + Μηχανή InnoDB. bl01_realmedialibrary_tmp: Δεδομένα: 0.02MB + Ευρετήρια: 0.00MB + Μηχανή InnoDB. bl01_realphysicalmedia_log: Δεδομένα: 0.02MB + Ευρετήρια: 0.00MB + Μηχανή InnoDB. bl01_realphysicalmedia_queue: Δεδομένα: 0.02MB + Ευρετήρια: 0.02MB + Μηχανή InnoDB. bl01_realphysicalmedia_seo: Δεδομένα: 0.02MB + Ευρετήρια: 0.02MB + Μηχανή InnoDB. bl01_seopress_significant_keywords: Δεδομένα: 0.02MB + Ευρετήρια: 0.03MB + Μηχανή InnoDB. bl01_termmeta: Δεδομένα: 0.02MB + Ευρετήρια: 0.03MB + Μηχανή InnoDB. bl01_terms: Δεδομένα: 0.02MB + Ευρετήρια: 0.03MB + Μηχανή InnoDB. bl01_term_relationships: Δεδομένα: 0.02MB + Ευρετήρια: 0.02MB + Μηχανή InnoDB. bl01_term_taxonomy: Δεδομένα: 0.02MB + Ευρετήρια: 0.03MB + Μηχανή InnoDB. bl01_tm_taskmeta: Δεδομένα: 0.02MB + Ευρετήρια: 0.03MB + Μηχανή InnoDB. bl01_tm_tasks: Δεδομένα: 0.02MB + Ευρετήρια: 0.02MB + Μηχανή InnoDB. bl01_usermeta: Δεδομένα: 0.02MB + Ευρετήρια: 0.03MB + Μηχανή InnoDB. bl01_users: Δεδομένα: 0.02MB + Ευρετήρια: 0.05MB + Μηχανή InnoDB. bl01_wc_admin_notes: Δεδομένα: 0.05MB + Ευρετήρια: 0.00MB + Μηχανή InnoDB. bl01_wc_admin_note_actions: Δεδομένα: 0.02MB + Ευρετήρια: 0.02MB + Μηχανή InnoDB. bl01_wc_category_lookup: Δεδομένα: 0.02MB + Ευρετήρια: 0.00MB + Μηχανή InnoDB. bl01_wc_customer_lookup: Δεδομένα: 0.02MB + Ευρετήρια: 0.03MB + Μηχανή InnoDB. bl01_wc_download_log: Δεδομένα: 0.02MB + Ευρετήρια: 0.03MB + Μηχανή InnoDB. bl01_wc_orders: Δεδομένα: 0.02MB + Ευρετήρια: 0.11MB + Μηχανή InnoDB. bl01_wc_orders_meta: Δεδομένα: 0.02MB + Ευρετήρια: 0.03MB + Μηχανή InnoDB. bl01_wc_order_addresses: Δεδομένα: 0.02MB + Ευρετήρια: 0.06MB + Μηχανή InnoDB. bl01_wc_order_coupon_lookup: Δεδομένα: 0.02MB + Ευρετήρια: 0.03MB + Μηχανή InnoDB. bl01_wc_order_operational_data: Δεδομένα: 0.02MB + Ευρετήρια: 0.03MB + Μηχανή InnoDB. bl01_wc_order_product_lookup: Δεδομένα: 0.02MB + Ευρετήρια: 0.06MB + Μηχανή InnoDB. bl01_wc_order_stats: Δεδομένα: 0.02MB + Ευρετήρια: 0.05MB + Μηχανή InnoDB. bl01_wc_order_tax_lookup: Δεδομένα: 0.02MB + Ευρετήρια: 0.03MB + Μηχανή InnoDB. bl01_wc_product_attributes_lookup: Δεδομένα: 0.02MB + Ευρετήρια: 0.02MB + Μηχανή InnoDB. bl01_wc_product_download_directories: Δεδομένα: 0.02MB + Ευρετήρια: 0.02MB + Μηχανή InnoDB. bl01_wc_product_meta_lookup: Δεδομένα: 0.02MB + Ευρετήρια: 0.09MB + Μηχανή InnoDB. bl01_wc_rate_limits: Δεδομένα: 0.02MB + Ευρετήρια: 0.02MB + Μηχανή InnoDB. bl01_wc_reserved_stock: Δεδομένα: 0.02MB + Ευρετήρια: 0.00MB + Μηχανή InnoDB. bl01_wc_tax_rate_classes: Δεδομένα: 0.02MB + Ευρετήρια: 0.02MB + Μηχανή InnoDB. bl01_wc_webhooks: Δεδομένα: 0.02MB + Ευρετήρια: 0.02MB + Μηχανή InnoDB. bl01_woo_shippment_provider: Δεδομένα: 0.09MB + Ευρετήρια: 0.00MB + Μηχανή InnoDB. bl01_wotv_woo_track_info: Δεδομένα: 0.02MB + Ευρετήρια: 0.00MB + Μηχανή InnoDB.

Post Type Counts

attachment: 19 customize_changeset: 3 nav_menu_item: 7 page: 11 post: 3 product: 4 revision: 14 shop_order: 12 wp_global_styles: 1 wpcode: 7

Security

Secure connection (HTTPS): ✔ Hide errors from visitors: ❌Τα σφάλματα δεν θα πρέπει να εμφανίζονται στους επισκέπτες.

Active Plugins (23)

Akeeba Backup Professional for WordPress: από τον/την Akeeba Ltd – 7.7.3 CMP - Coming Soon & Maintenance Plugin: από τον/την NiteoThemes – 4.1.4 Duplicate Page: από τον/την mndpsingh287 – 4.4.9 WP Armour - Honeypot Anti Spam: από τον/την Dnesscarkey – 2.0.2 WPCode - Insert Headers, Footers, and Code Snippets: από τον/την WPCode – 2.0.3 Loco Translate: από τον/την Tim Whitlock – 2.6.3 Media File Renamer: από τον/την Jordy Meow – 5.4.9 ActiveCampaign Postmark (Official): από τον/την Andrew Yates & Matt Gibbs – 1.17.2 Real Media Library: από τον/την devowl.io – 4.18.19 Real Physical Media: από τον/την devowl.io – 1.5.18 Category Order and Taxonomy Terms Order: από τον/την Nsp-Code – 1.7.3 Uncode Core: από τον/την Undsgn – 2.7.4 Dave's WordPress Live Search (4.8.1): από τον/την Dave Ross – 1.0.4 Uncode WPBakery Page Builder: από τον/την Michael M - WPBakery.com – 6.9.0 Uncode Wireframes: από τον/την Uncode – 1.5.0 VC Particles Background: από τον/την Boom-Apps – 1.3 Woocommerce Shipment Tracking: από τον/την NetGo2 – 1.1.0 WooCommerce: από τον/την Automattic – 7.1.0-beta.2 WP Crontrol: από τον/την John Blackbourn & crontributors – 1.14.0 WP-Optimize - Clean, Compress, Cache: από τον/την David Anderson Ruhani Rabin Team Updraft – 3.2.9

SEOPress PRO: από τον/την SEOPress – 5.9 SEOPress: από τον/την The SEO Guys at SEOPress – 6.0.2 WPS Hide Login: από τον/την WPServeur NicolasKulka wpformation – 1.9.6

Inactive Plugins (4)

Cargo Tracking for WooCommerce: από τον/την İlhan Aydınlı – 1.0.4 Kadence WooCommerce Email Designer: από τον/την Kadence WP – 1.5.7 Tracking: Emails and Notifications for WooCommerce: από τον/την RapidDev – 1.7.4 Woocommerce Shipment Tracking Old: από τον/την NetGo2 – 1.0.0

Dropin Plugins (1)

maintenance.php: maintenance.php

Must Use Plugins (1)

akeeba-backup-coreupdate.php: από τον/την –

Settings

API Enabled: – Force SSL: – Currency: EUR (€) Currency Position: right_space Thousand Separator: . Decimal Separator: , Number of Decimals: 2 Taxonomies: Product Types: simple (simple) grouped (grouped) variable (variable) external (external)

Taxonomies: Product Visibility: exclude-from-search (exclude-from-search) exclude-from-catalog (exclude-from-catalog) featured (featured) outofstock (outofstock) rated-1 (rated-1) rated-2 (rated-2) rated-3 (rated-3) rated-4 (rated-4) rated-5 (rated-5)

Connected to WooCommerce.com: – Enforce Approved Product Download Directories: ✔

WC Pages

Βάση καταστήματος: #37 - /shop/ Καλάθι: #38 - /cart/ Ταμείο: #39 - /checkout/ Ο λογαριασμός μου: #40 - /my-account/ Όροι και Προϋποθέσεις: ❌ Η σελίδα δεν ορίστηκε

Theme

Name: Uncode Child Version: 1.0.0 Author URL: http://www.undsgn.com Child Theme: ✔ Parent Theme Name: Uncode Parent Theme Version: 2.7.4 Parent Theme Author URL: http://www.undsgn.com WooCommerce Support: ✔

Templates

Overrides: uncode/woocommerce/archive-product.php uncode/woocommerce/cart/cart-item-data.php uncode/woocommerce/cart/mini-cart.php uncode/woocommerce/checkout/thankyou.php uncode/woocommerce/content-product-cat.php uncode/woocommerce/content-product.php uncode/woocommerce/content-single-product.php uncode/woocommerce/global/form-login.php uncode/woocommerce/global/quantity-input.php uncode/woocommerce/loop/add-to-cart.php uncode/woocommerce/loop/loop-end.php uncode/woocommerce/loop/loop-start.php uncode/woocommerce/loop/pagination.php uncode/woocommerce/myaccount/form-edit-account.php uncode/woocommerce/myaccount/form-login.php uncode/woocommerce/myaccount/form-lost-password.php uncode/woocommerce/myaccount/form-reset-password.php uncode/woocommerce/myaccount/my-account.php uncode/woocommerce/myaccount/orders.php uncode/woocommerce/notices/error.php uncode/woocommerce/notices/notice.php uncode/woocommerce/notices/success.php uncode/woocommerce/order/order-details-customer.php uncode/woocommerce/order/order-details.php uncode/woocommerce/product-searchform.php uncode/woocommerce/single-product/add-to-cart/external.php uncode/woocommerce/single-product/add-to-cart/grouped.php uncode/woocommerce/single-product/add-to-cart/simple.php uncode/woocommerce/single-product/add-to-cart/variable.php uncode/woocommerce/single-product/add-to-cart/variation-add-to-cart-button.php uncode/woocommerce/single-product/meta.php uncode/woocommerce/single-product/price.php uncode/woocommerce/single-product/product-image.php uncode/woocommerce/single-product/product-thumbnails.php uncode/woocommerce/single-product/rating.php uncode/woocommerce/single-product/related.php uncode/woocommerce/single-product/review.php uncode/woocommerce/single-product/share.php uncode/woocommerce/single-product/tabs/additional-information.php uncode/woocommerce/single-product/tabs/description.php uncode/woocommerce/single-product/tabs/tabs.php uncode/woocommerce/single-product/up-sells.php uncode/woocommerce/single-product-reviews.php uncode/woocommerce/single-product.php uncode/woocommerce/taxonomy-product-cat.php

Admin

Enabled Features: activity-panels analytics coupons customer-effort-score-tracks experimental-products-task experimental-import-products-task experimental-fashion-sample-products shipping-smart-defaults shipping-setting-tour homescreen marketing multichannel-marketing mobile-app-banner navigation onboarding onboarding-tasks remote-inbox-notifications remote-free-extensions payment-gateway-suggestions shipping-label-banner subscriptions store-alerts transient-notices woo-mobile-welcome wc-pay-promotion wc-pay-welcome-page

Disabled Features: minified-js new-product-management-experience settings

Daily Cron: ✔ Next scheduled: 2022-11-04 16:35:37 +00:00 Options: ✔ Notes: 56 Onboarding: completed

Action Scheduler

Ολοκληρωμένη: 232 Oldest: 2022-10-04 07:18:45 +0000 Newest: 2022-11-03 20:09:03 +0000

Σε αναμονή: 1 Oldest: 2022-11-04 08:09:03 +0000 Newest: 2022-11-04 08:09:03 +0000

Status report information

Generated at: 2022-11-04 06:48:39 +00:00 `

Isolating the problem

jorgeatorres commented 1 year ago

Hi @basile67,

This is indeed a bug. We have a similar issue open for metadata sync in the opposite direction (from orders table to posts table), which I've now changed so it includes this case too, so I'm closing this one as a duplicate.

It's already on our to-do list and we should be working on it soon.

Thanks for the report!