WooCommerce 10.7 Short Description Editor Missing in Admin

WooCommerce 10.7 short description editor missing from product admin? HPOS shifts the meta box registration timing. Restore it with one filter and a hook.
WooCommerceWordPressHPOS
May 16, 20265 min read945 words

The Problem

I ran into this on a client store last week. They updated to WooCommerce 10.7, enabled HPOS on a staging copy first, then synced production. The day after the rollout, their content editor pinged me: every product edit screen was missing the Product short description TinyMCE box. The long description was still there as a regular post editor, but the short description meta box had vanished from every product in the admin.

The data was intact. A SELECT post_excerpt FROM wp_posts WHERE post_type = 'product' returned all the existing values. The frontend rendered them on shop archives and single product pages without a problem. It was strictly the admin meta box that had disappeared, and adding a new product gave no way to write a short description at all.

Why It Happens

WooCommerce 10.7 finished moving the classic product editor onto the block-aware screen pipeline, even when you keep the legacy editor enabled. As part of that work, the short description meta box is now registered against the new product admin screen ID and gated by an internal capability check that reads from the HPOS data store.

Three things have to line up before the box renders:

  1. The product post type has to declare excerpt support. WooCommerce still adds this by default, but any plugin that re-registers product via register_post_type (multilingual plugins are the usual suspect) drops excerpt from the supports array because they copy an older WooCommerce snippet.
  2. The current screen must report id === 'product', not edit-product. The new editor pipeline registers the meta box on add_meta_boxes_product, not on the generic add_meta_boxes. If a plugin hooks add_meta_boxes with priority 5 and calls remove_meta_box('postexcerpt', 'product', 'normal') to relocate it, the removal now fires before WooCommerce registers it, so the relocation runs against nothing and WooCommerce never adds it back.
  3. When HPOS is on, the admin uses a different load order. current_screen fires before add_meta_boxes_product in some cases, which means any code that conditionally adds the meta box inside current_screen will execute too early and silently fail.

The WooCommerce HPOS migration guide covers the data layer but not the editor screen changes, which is why this surprises people.

The Fix

You need two things: confirm excerpt is in the supports array for the product post type, and re-register the meta box against the correct hook with the correct screen ID.

Step 1: Check the supports array. Drop this into a mu-plugin or your theme's functions.php temporarily:

add_action('init', function () {
    $supports = get_all_post_type_supports('product');
    error_log('product supports: ' . print_r(array_keys($supports), true));
}, 999);

Reload any admin page and check wp-content/debug.log. If excerpt is missing from the list, a plugin is overriding the post type registration. Find it by disabling plugins one by one until excerpt appears, then patch with:

add_action('init', function () {
    add_post_type_support('product', 'excerpt');
}, 100);

Priority 100 runs after most plugins have re-registered the post type.

Step 2: Re-register the meta box. Even with excerpt support in place, the meta box can stay missing because of the hook timing issue. Add this:

add_action('add_meta_boxes_product', function () {
    add_meta_box(
        'postexcerpt',
        __('Product short description', 'woocommerce'),
        'post_excerpt_meta_box',
        'product',
        'normal',
        'high'
    );
}, 20);

The hook add_meta_boxes_product only fires on the product edit screen, runs after WooCommerce's own meta box registration at priority 10, and gives you priority 20 to override any plugin that removed the box earlier in the chain. Using post_excerpt_meta_box as the callback reuses WordPress core's TinyMCE-backed excerpt UI, which is what WooCommerce wraps anyway.

Step 3: Verify the save path is intact. If the box renders but saving the value does nothing, a plugin is hooking wp_insert_post_data and stripping post_excerpt. Confirm with:

add_filter('wp_insert_post_data', function ($data, $postarr) {
    if (($data['post_type'] ?? '') === 'product') {
        error_log('product excerpt on save: ' . substr($data['post_excerpt'] ?? '(empty)', 0, 80));
    }
    return $data;
}, 999, 2);

Save a product with content in the short description. If the log shows (empty), walk backward through the filter list with has_filter('wp_insert_post_data') until you find the offender.

Step 4: Flush the screen options cache. WooCommerce 10.7 caches admin screen metadata per user. After the changes above, ask the content editor to:

WP Admin > Products > Screen Options > untick "Product short description" > save > re-tick > save

That step looks cosmetic but it forces WordPress to rebuild the user's hidden meta box list, which is what was hiding the box for some users even after the box was registered correctly.

The Lesson

The short description has not gone anywhere — WooCommerce 10.7 changed when and where its meta box gets registered, and any plugin that touches add_meta_boxes or re-registers the product post type can knock the registration out of sync. Confirm excerpt support, re-register against add_meta_boxes_product at priority 20, and clear the user-specific screen options cache. The box comes back without losing any saved data.

If your store is going through an HPOS migration and pieces of the admin are quietly breaking, that is the kind of cleanup I do daily. See my services. For a related HPOS gotcha that hits the API layer, see WooCommerce REST API 401 after WordPress 6.9.

Back to blogStart a project