пятница, 14 июня 2013 г.

Как на странице «Магазин» убрать одну определенную категорию?

/**
/** Этот код надо поместить в functions.php вашей темы **/
add_filter( 'pre_get_posts', 'custom_pre_get_posts_query' );

function custom_pre_get_posts_query( $q ) {

if ( ! $q->is_main_query() ) return;
if ( ! $q->is_post_type_archive() ) return;

$q->set( 'tax_query', array(array(
'taxonomy' => 'product_cat',
'field' => 'slug',
'terms' => array( 'tshirts' ),
'operator' => 'NOT IN'
)));

remove_filter( 'pre_get_posts', 'custom_pre_get_posts_query' );

}

И замените tshirts на нужное название категории.



Как на странице «Магазин» убрать одну определенную категорию?

1 комментарий:

  1. Уже несколько дней бьюсь над вот такой проблемой.
    у меня магазин на woocommerce
    в общем списке товаров выводятся все товары, которые были добавлены оператором в магазин. Но выяснилась необычная хотелка – клиент требует не выводить товары, которые входят в определённые коллекции. Порывшись, я выяснил, что у товаров, которые входят в коллекцию, в БД в поле post_parent указан ID родителя, тогда как у обыкновенных товаров там прописан ноль.

    для того, чтобы исключить товары мне пришлось понять сущности многих хуков, однако же решения нет


    Вышеописанный хук запрещает вывод товаров из определённой категории.
    Подскажите plz, как прописать таким образом, чтобы выводилось только то, что имеет значение post_parent>0

    спасибо.

    ОтветитьУдалить