更改WooCommerce'xyz'类别页面上显示的产品数量

时间:2014-04-03 11:12:15

标签: php wordpress woocommerce

我目前在“xyz”类别中有19个项目,但我一次只能看到其中的5个并显示分页我不想分页。

有没有办法让你的xyz类别的第一页显示超过5个项目?

我将以下代码添加到我的function.php模板

add_filter( 'loop_shop_per_page', create_function( '$cols', 'return 10;' ), 19 );

但仍显示5种产品。

4 个答案:

答案 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)

从php 7.2起,

create_functiondepricated。 以下过滤器可用于更改存档页面中的产品数量(如果设置与“设置”>“阅读”下的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;'));

这对我有用。 感谢