На wp-kama ночуем) да и кодекс часто светится.Что сказать, кодекс и вп-кама помогут разобраться с этим. Там есть хорошие примеры и описания функций wordpress.
выбирать по категориям можно с помощью аргумента 'category', в котором перечислить нужные категории если нужно больше одной то значение нужно указывать в массиве.
Советую ознакомиться так же с аргументом meta_query этой функции, она позволит выбрать продукты по произвольным полям.
Так же рекомендую к изучению плагин ACF адванцедкастомфилдс. Он расширяет возможности вордпресса до предела.
<?php
$taxonomy = 'product_cat';
$orderby = 'name';
$show_count = 0; // 1 for yes, 0 for no
$pad_counts = 0; // 1 for yes, 0 for no
$hierarchical = 1; // 1 for yes, 0 for no
$title = '';
$empty = 0;
$args = array(
'taxonomy' => $taxonomy,
'orderby' => $orderby,
'show_count' => $show_count,
'pad_counts' => $pad_counts,
'hierarchical' => $hierarchical,
'title_li' => $title,
'hide_empty' => $empty
);
$all_categories = get_categories( $args );
//print_r($all_categories);
foreach ($all_categories as $cat) {
//print_r($cat);
if($cat->category_parent == 0) {
$category_id = $cat->term_id;
echo '<br /><a href="'. get_term_link($cat->slug, 'product_cat') .'">'. $cat->name .'</a>';
$args2 = array(
'taxonomy' => $taxonomy,
'child_of' => 0,
'parent' => $category_id,
'orderby' => $orderby,
'show_count' => $show_count,
'pad_counts' => $pad_counts,
'hierarchical' => $hierarchical,
'title_li' => $title,
'hide_empty' => $empty
);
$sub_cats = get_categories( $args2 );
if($sub_cats) {
foreach($sub_cats as $sub_category) {
echo $sub_category->name ;
}
}
}
}
?>
Т.е. к примеру по категории отфильтровать выбираем все,Еще может понадобиться, для того чтобы комбинировать запрос, например в записях перед выводом цикла отфильтровать их по категории, по дате или по полю:
WP_Query($query_string.'&параметр=значение&параметр=значение' ).
это позволит дополнять базовый цикл своими условиями![]()
global $query_string;
query_posts($query_string . '&post_type=product&posts_per_page=-1');
while(have_posts()) { the_post();
<!-- здесь идет Цикл WordPress -->
}