• Resolved dabeecher

    (@dabeecher)


    I have on my staging website synced all my orders to the new High-performance order storage and ticked the  High-performance order storage (recommended) version.

    All appears to be working and new orders going into wc_orders BUT I have noticed its still creating a line item within wp_posts with the post_type of shop_order_placehold just wonder if you knew what could be causing this?

    I assume it should be bypassing wp_posts now

    The page I need help with: [log in to see the link]

Viewing 5 replies - 1 through 5 (of 5 total)
  • Plugin Support shahzeen(woo-hc)

    (@shahzeenfarooq)

    Hi there,

    Thanks for the update and great to hear you’ve enabled High-Performance Order Storage (HPOS) on your staging site!

    You’re absolutely right — when HPOS is enabled and syncing is disabled, new order data should only be stored in the custom order tables

    Just to confirm — have you also enabled the Compatibility Mode option along with High-Performance Order Storage on your staging site?

    If Compatibility Mode is enabled, WooCommerce will continue syncing order data to the legacy wp_posts and wp_postmeta tables, which could explain the shop_order_placehold entries you’re seeing.

    To fully bypass the legacy tables, I’d suggest disabling Compatibility Mode (under WooCommerce → Settings → Advanced → Features) and then placing a new test order to see if anything still gets added to the wp_posts table.

    For more details you can use this guide.
    https://woocommerce.com/document/high-performance-order-storage/#synchronization

    I hope this helps.

    Thread Starter dabeecher

    (@dabeecher)

    No I do not have compatibility mode on which is what confuses me

    See attached screenshot here of the settings https://ibb.co/G4MQxxZ7

    Is there a database field that gets set when you untick Enable compatibility mode so I can check its set properly?

    There are no errors in the logs when the compatibility tickbox is checked/unchecked

    Hi @dabeecher,

    You’re right that with High-Performance Order Storage (HPOS) enabled, new orders are stored in custom tables like wc_orders instead of wp_posts. However, WooCommerce still creates a lightweight placeholder post in wp_posts with the post type shop_order_placehold.

    This is expected behavior, it ensures the order ID stays consistent across systems (post.ID === order.ID), maintains compatibility with legacy plugins, comments (order notes), and scheduled actions, and avoids potential conflicts. The actual order data lives in the HPOS tables, so these placeholders are just for reference.

    You can read more about this in the official HPOS FAQs here:
    https://developer.woocommerce.com/2022/10/11/hpos-upgrade-faqs/

    So no issues on your end, everything is working as intended.

    That said, we’d be grateful if you could share your feedback here: https://ww.wp.xz.cn/support/plugin/woocommerce/reviews/#new-post

    Thanks again for reaching out!

    Thread Starter dabeecher

    (@dabeecher)

    Hi Mahfuzur Rahman(woo-hc),

    Thanks for getting back to me and confirming that is default functionality, I was just under the assumption it would by pass wp_posts all together so good to know

    Plugin Support shahzeen(woo-hc)

    (@shahzeenfarooq)

    Hi there

    You’re very welcome! We’re glad we could clarify that for you.

    If you’ve found WooCommerce helpful, we’d really appreciate it if you could take a moment to leave us a review. Your feedback helps us improve and also supports other store owners in choosing the right tools.

    You can leave a review here:https://ww.wp.xz.cn/support/plugin/woocommerce/reviews/#new-post

    Thank you

Viewing 5 replies - 1 through 5 (of 5 total)

The topic ‘High-performance order storage’ is closed to new replies.