我目前在“xyz”类别中有19个项目,但我一次只能看到其中的5个并显示分页我不想分页。
有没有办法让你的xyz类别的第一页显示超过5个项目?
我将以下代码添加到我的function.php模板
中add_filter( 'loop_shop_per_page', create_function( '$cols', 'return 10;' ), 19 );
但仍显示5种产品。
答案 0 :(得分:2)
可以在信息中心的“设置”标签的Reading Settings
部分进行更改。
选项Blog pages show at most
控制可以看到的产品数量。将其更改为19将允许显示所有19种产品。
修改
add_filter( 'loop_shop_per_page', create_function( '$cols', 'return 19;' ), 20 );
另一个编辑:
在woocommerce / includes / class-wc-query.php页面上有以下内容~365
$q->set( 'posts_per_page', $q->get( 'posts_per_page' ) ? $q->get( 'posts_per_page' ) : apply_filters( 'loop_shop_per_page', get_option( 'posts_per_page' ) ) );
将其更改为:
$q->set( 'posts_per_page', $q->get( 'posts_per_page' ) ? $q->get( 'posts_per_page' ) : apply_filters( 'loop_shop_per_page', '19') );
答案 1 :(得分:2)
create_function
是depricated。
以下过滤器可用于更改存档页面中的产品数量(如果设置与“设置”>“阅读”下的wordpress设置不同,我只建议使用该产品
/**
* WC: change products per page
* @return int
*/
function so22835795_loop_shop_per_page() {
return -1; //return any number, -1 === show all
};
add_filter('loop_shop_per_page', 'so22835795_loop_shop_per_page', 10, 0);
答案 2 :(得分:1)
loop_shop_per_page
过滤器对我不起作用,因为主题是覆盖它。所以我使用了woocommerce_product_query
过滤器,如下所示:
<?php
add_action( 'woocommerce_product_query', 'so22835795_woocommerce_products_per_page', 1, 50 );
function so22835795_woocommerce_products_per_page( $query ) {
if ( $query->is_main_query() ) {
$query->set( 'posts_per_page', '5' );
}
}
答案 3 :(得分:0)
将此代码添加到主题的function.php文件
add_filter('loop_shop_per_page', create_function('$cols', 'return 19;'));
这对我有用。 感谢