Отключаем невостребованные функции WooCommerce, чтобы было легче работать, не захламлять админку и не путать заказчиков.
Зачем убирать лишнее#
WooCommerce часто ставят «с запасом», а потом в админке остаются типы товаров, чекбоксы и блоки, которыми конкретный магазин не пользуется. Для разработчика это шум, для клиента — лишние варианты, где легко ошибиться.
Убирать нужно только то, что действительно не участвует в продажах. Перед правкой проверьте текущие товары, сценарии оформления заказа и плагины, которые могут ждать эти поля.
Отключить типы товаров
add_action("wp_footer", "wooexperts_remove_block_data", 0);
add_action("admin_enqueue_scripts", "wooexperts_remove_block_data", 0);
function wooexperts_remove_block_data() {
remove_filter(
"wp_print_footer_scripts",
array("Automattic\WooCommerce\Blocks\Assets", "print_script_block_data"),
1,
);
remove_filter(
"admin_print_footer_scripts",
array("Automattic\WooCommerce\Blocks\Assets", "print_script_block_data"),
1,
);
}
add_filter("product_type_selector", "misha_remove_grouped_and_external");
function misha_remove_grouped_and_external($product_types) {
unset($product_types["grouped"]);
unset($product_types["external"]);
//unset( $product_types['variable'] );
return $product_types;
}
Если существуют товары отключённого типа — они не будут доступны в админке, т. е. их нужно заранее перевести в другой тип.
Удалить чекбоксы «Виртуальный» и «Загружаемый»
add_filter("product_type_options", function ($options) {
// remove "Virtual" checkbox
if (isset($options["virtual"])) {
unset($options["virtual"]);
}
// remove "Downloadable" checkbox
if (isset($options["downloadable"])) {
unset($options["downloadable"]);
}
return $options;
});
Удалить их также из фильтра админки:
add_filter( 'woocommerce_products_admin_list_table_filters', function( $filters ) {
if( isset( $filters[ 'product_type' ] ) ) {
$filters[ 'product_type' ] = 'misha_product_type_callback';
}
return $filters;
});
function misha_product_type_callback(){
$current_product_type = isset( $_REQUEST['product_type'] ) ? wc_clean( wp_unslash( $_REQUEST['product_type'] ) ) : false;
$output = '<select name="product_type" id="dropdown_product_type"><option value="">Filter by product type</option>';
foreach ( wc_get_product_types() as $value => $label ) {
$output .= '<option value="' . esc_attr( $value ) . '" ';
$output .= selected( $value, $current_product_type, false );
$output .= '>' . esc_html( $label ) . '</option>';
}
$output .= '</select>';
echo $output;
}
Лишний код#
С приходом редактора Gutenberg в коде WooCommerce стало выводиться много лишнего (wc_product_block_data). Отключаем:
Перед внедрением#
Сначала проверьте магазин на копии или staging. В WooCommerce типы товаров и product options могут использоваться темой, импортом, интеграцией склада или платёжным сценарием.
После отключения лишнего откройте карточку товара, список товаров, фильтры админки и оформление заказа. Если редактору стало проще, а продажи не сломались, правка имеет смысл.
Если WooCommerce разрастается лишними экранами, типами записей и кодом, который мешает админке и скорости, его можно аккуратно зачистить под реальный магазин. Напишите мне в Telegram или на почту — помогу убрать лишнее, не ломая продажи, каталог и обновления.



