/* STEP1: parent = 0
find top-level categories
знаходимо теки на верхнього рівня
*/
$cats0 = get_terms( 'product_cat',
array( 'hide_empty' => false,
'fields' => 'ids',
'parent' => '0',
'orderby' => 'term_id',
'order' => 'ASC'
));
foreach ( $cats0 as $cat0_id ) {
$cat0 = get_term( $cat0_id, 'product_cat' );
echo $cat0->name;
echo $cat0->slug;
echo $cat0->description;
/* рибимо те, що потрібно з категорією */
/* STEP1: parent = $cat0_id
find next-level categories
знаходимо теки на рівень нижче
*/
$cars1 = get_terms( 'product_cat',
array( 'hide_empty' => false,
'fields' => 'ids',
'parent' => $cat0_id,
'orderby' => 'term_id',
'order' => 'ASC'
));
foreach ( $cats1 as $cat1_id ) {
$cat1 = get_term( $cat1_id, 'product_cat' );
echo $cat1->name;
echo $cat1->slug;
echo $cat1->description;
/* рибимо те, що потрібно з під-категорією */
/* STEP3: products
find products in this category
знаходимо товари в цій категорії
*/
if( $_SERVER['REQUEST_URI'] == '/shop/' ){
$args = array( 'post_type' => 'product',
'posts_per_page' => 6,
'product_cat' => $cat1->slug,
'orderby' => 'name',
'order' => 'ASC'
);
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
global $product;
/* id */
echo get_permalink( $loop->post->ID );
/* title */
echo $loop->post->post_title;
/* sale! */
woocommerce_show_product_sale_flash(
$post, $product);
/* image */
if (has_post_thumbnail( $loop->post->ID ))
echo get_the_post_thumbnail(
$loop->post->ID, 'shop_catalog');
else
echo '<img src="'
.woocommerce_placeholder_img_src()
.'" alt="Placeholder"
width="300px" height="300px" />';
/* description */
echo strip_tags( $loop->post->post_content );
/* price */
echo $product->get_price_html();
/* add to cart */
woocommerce_template_loop_add_to_cart(
$loop->post, $product );
endwhile;
wp_reset_query();
} /* if $_SERVER['REQUEST_URI'] */
} /* foreach $terms1 */
} /* foreach $terms */
субота, 8 квітня 2017 р.
WooCommerce category (categories) and product's
Документація з WooCommerce не надихає на код, а чомусь, відсилає в адмінку Wordpress-у.
Підписатися на:
Дописати коментарі (Atom)
Немає коментарів:
Дописати коментар