我使用" WP_Query"创建了一个自定义产品循环。在Table中显示Woocommerce产品数据及其工作正常。但'posts_per_page' => -1,
未显示样本类别中的所有产品。
目前,我有17个样品类别的产品。它只展示了10种产品。 我检查了问题,发现" WP_Query"用在帖子中 这是从每页的帖子值 Setiing>阅读>博客页面最多显示
我如何制作' posts_per_page' => -1即可在不更改每页Wordpress Post设置的情况下获取更多10个产品。提前致谢。 以下是我的完整代码。
<?php // The args for the loop
$args = array(
'posts_per_page' => -1,
'tax_query' => array(
'relation' => 'AND',
array(
'taxonomy' => 'product_cat',
'field' => 'slug',
'terms' => 'sample' // Your category name here
)
),
'post_type' => 'product',
'orderby' => 'title',
); ?>
<?php
$loop = new WP_Query($args); // The Loop
if ( $loop->have_posts() ) {
while ( $loop->have_posts() ) : $loop->the_post(); ?>
<table> <!-- Fetching woocommerce data in table -->
<tr>
<td><?php the_content(); ?></td> <!-- Content -->
<td><?php the_title(); ?></td> <!-- Title -->
<td><?php echo ( $sku = $product->get_sku() ) ? $sku : __( 'N/A', 'woocommerce' ); ?></td> <!-- SKU -->
<td><?php echo $product->get_price_html(); ?></td> <!-- Price -->
<td>
<?php global $product; // For Adding Add to Cart button in loop
echo apply_filters( 'woocommerce_loop_add_to_cart_link',
sprintf( '<a href="%s" rel="nofollow" data-product_id="%s" data-product_sku="%s" class="button %s product_type_%s">%s</a>',
esc_url( $product->add_to_cart_url() ),
esc_attr( $product->id ),
esc_attr( $product->get_sku() ),
$product->is_purchasable() ? 'add_to_cart_button' : '',
esc_attr( $product->product_type ),
esc_html( $product->add_to_cart_text() )
), $product );
?>
</td>
</tr>
</table>
<?php
endwhile;
} else {
echo __( 'No products found' );
}
wp_reset_postdata();
?>
答案 0 :(得分:1)
WooCommerce使用与博客帖子相同的“每页帖子数”设置。
您可以通过这种方式对其进行修改
add_filter( 'loop_shop_per_page', 'so_27395967_products_per_page' );
function so_27395967_products_per_page(){
return 12;
}
答案 1 :(得分:0)
请使用以下代码
'posts_per_page' => -1,
而不是
$maxposts = get_option('posts_per_page');
'posts_per_page' => $maxposts,
答案 2 :(得分:0)
尝试以下代码段
add_filter( 'loop_shop_per_page', create_function( '$cols', 'return 30;' ), 20 );
参考 http://www.boopathirajan.com/increasechange-product-per-page-limit-woocommerce-product-loop/