Создайте страницу WooCommerce со скидкамиPhp

Кемеровские программисты php общаются здесь
Anonymous
Создайте страницу WooCommerce со скидками

Сообщение Anonymous »

Я пытаюсь создать страницу (стиль архива woocommerce по умолчанию), на которой будут отображаться только те продукты, которые находятся в продаже. Здесь отмечу, что у меня есть только разные продукты и не простые.

Я пытался создать свой собственный короткий код

Код: Выделить всё

global $woocommerce_loop;
$atts = shortcode_atts( array(
'per_page' => '-1',
'columns'  => '4',
'orderby'  => 'title',
'order'    => 'asc'
), $atts );

// Get products on sale
$product_ids_on_sale = wc_get_product_ids_on_sale();

$meta_query = WC()->query->get_meta_query();
$args = array(
'posts_per_page'    => $atts['per_page'],
'orderby'           => $atts['orderby'],
'order'             => $atts['order'],
'no_found_rows'     => 1,
'post_status'       => 'publish',
'post_type'         => 'product',
'meta_query'        => $meta_query,
'post__in'          => array_merge( array( 0 ), $product_ids_on_sale )
);
ob_start();
$products = new WP_Query( apply_filters( 'woocommerce_shortcode_products_query', $args, $atts ) );
$columns = absint( $atts['columns'] );
$woocommerce_loop['columns'] = $columns;
if ( $products->have_posts() ) :

woocommerce_product_loop_start();

while ( $products->have_posts() ) : $products->the_post();

wc_get_template_part( 'content', 'product' );

endwhile; // end of the loop.

woocommerce_product_loop_end();

endif;
wp_reset_postdata();
return '' . ob_get_clean() . '';
но в результате получаю только 2 товара.

Есть ли помощь или идеи?

Подробнее здесь: https://stackoverflow.com/questions/447 ... ts-on-sale

Вернуться в «Php»