Как убрать сворачивание метабокса «Данные товара», если используешь Gutenberg

Так как даже странички товаров хочется украсить красиво с помощью блоков, то я и для WooCommerce отключаю классический редактор. Но появляется бесячая мелочь: любое взаимодействие с шапкой метабокса «Данные товара» активирует скрипт сворачивания/разворачивания метабокса.

Можно было бы проигнорировать, но именно в шапке у нас находятся настройка смены Типа товара. И соответственно каждый раз, когда меняем «Тип товара» метабокс начинает свое свернуть/развернуть.

Немного раздражает и поэтому я начал искать решение этой проблемы. Ничего не нашел, но написал своё.

add_action('admin_footer', function () {
  $screen = get_current_screen();
  if ($screen && $screen->post_type === 'product') :
?>
    <style>
      #woocommerce-product-data .handlediv {
        pointer-events: none;
        opacity: 0;
      }

      #woocommerce-product-data.closed .inside {
        display: block !important;
      }
    </style>
<?php
  endif;
});

Да, не очень изящно. Но работает:

  • Отключен клик по стрелке .handlediv через pointer-events: none — это блокирует возможность сворачивания.
  • Сделал .inside всегда видимым даже при closed — через display: block !important.
  • Сохранил всю остальную JS-логику WooCommerce (переключение вкладок, типов товара и т.д.), не мешая её работе.

Плюсы такого подхода:

  • ✅ Минимальное вмешательство в JS WooCommerce.
  • ✅ Всё работает, как нужно, без побочных эффектов.
  • ✅ Не ломаешь внутренние события или логику postboxes.
  • ✅ Можно легко отключить, просто убрав <style>