Это в основном зависит от ваших настроек.Поэтому следующий код будет обрабатывать только:
- Поведение woocommerce по умолчанию на основе
woocommerce_sidebar
ловушки действий. - Тема витрины магазина, основанная на ловушке действий storefront_sidebar.
Пользовательская условная функция:
Во-первых, ниже приведена пользовательская условная функция, которая проверяет, установлен ли термин категории продукта с 'subcategories'
тип отображения:
// Custom conditional function that check for "subcategories" display type in product categories term
function is_subcategory_display_type( $term ) {
$taxonomy = 'product_cat';
if( ! term_exists( $term, $taxonomy ) )
return false;
if( ! is_numeric( $term ) )
$term = get_term_by( 'slug', sanitize_title( $term ), $taxonomy )->term_id;
return get_term_meta( $term, 'display_type', true ) === 'subcategories' ? true : false;
}
Код помещается в файл function.php вашей активной дочерней темы (или активной темы).Протестировано и работает.
Затем вы добавите одну из них в зависимости от вашей темы:
1) Для обычных тем с использованием стандартной woocommerce_sidebar
ловушки:
// Removing default themes woocommerce sidebar conditionally
add_action( 'woocommerce_sidebar', 'remove_woocommerce_sidebar', 1, 1 );
function remove_woocommerce_sidebar( $name ){
$queried_object_id = get_queried_object_id();
if ( is_product_category() && is_subcategory_display_type( $queried_object_id ) ){
remove_action('woocommerce_sidebar','woocommerce_get_sidebar', 10 );
}
}
Код помещается в файл function.php вашей активной дочерней темы (или активной темы).Протестировано и работает.
2) Для темы Storefront используется собственная storefront_sidebar
ловушка:
// Removing default "Storefront" theme woocommerce sidebar conditionally
add_action( 'storefront_sidebar', 'remove_storefront_get_sidebar', 1, 1 );
function remove_storefront_get_sidebar( $name ){
$queried_object_id = get_queried_object_id();
if ( is_product_category() && is_subcategory_display_type( $queried_object_id ) ){
remove_action('storefront_sidebar','storefront_get_sidebar', 10 );
}
}
Код находится в файле function.php вашегоАктивная детская тема (или активная тема).Протестировано и работает.
3) Другие темы с конкретными настройками:
Вам нужно будет выяснить, какой хук используется для создания кодаработа.