woocommerce中每页产品的数量

时间:2018-04-11 18:02:28

标签: php wordpress woocommerce wordpress-theming

亲爱的编码员和社区,

我现在已经研究了这个问题很长一段时间了,虽然我有一些编码背景,但我似乎无法弄清楚这个问题。没有指向该主题的链接,因为他们只是建议我已使用的代码段。

我有一个工作 Word Press安装:版本4.8.2& WooCommerce:版本3.3.5

我的主题基本上包含2个文件,因为为了找到问题,我必须将整个文件分解。

functions.php

<?php

add_filter('loop_shop_columns', 'loop_columns');
if (!function_exists('loop_columns')) {
    function loop_columns() {
        return 5; // 3 products per row
    }
}

add_filter( 'loop_shop_per_page', 'new_loop_shop_per_page', 999999999999 ); 

function new_loop_shop_per_page( $cols ) {
  // $cols contains the current number of products per page based on the value stored on Options -> Reading
  // Return the number of products you wanna show per page.
  //
  var_dump($cols);
  $cols = 3;
  return $cols;
}

?>

该代码只是将产品类别页面上显示的产品数量限制为3。

index.php

<?php
get_header();
?>

<div class="container content pr-0 pl-0" >
  <div class="index">
  <?php  if ( have_posts() ) : the_post(); ?>
          <?php the_content(); ?>
  <?php endif; ?>
  </div>
</div>
<?php
get_footer();
?>

这只是任何wordpress安装所需的基本索引文件。

现在我尝试使用默认的2017主题更改后端设置,它工作得很好......所以它不能成为后端的东西。

这可能是什么问题?

任何帮助或潜在客户将不胜感激!谢谢!

2 个答案:

答案 0 :(得分:0)

loop_shop_columns过滤器不会影响显示的帖子数量,只影响页面上的列数(在新行开始之前经过的产品数量)。

任何页面上显示的产品数量实际上取自WordPress设置&gt;阅读&#34;博客页面最多显示&#34;设置。

您还可以使用pre_get_posts过滤器以编程方式更改数字。

答案 1 :(得分:0)

add_action( 'pre_get_posts', 'rc_modify_query_exclude_category' );
// Create a function to excplude some categories from the main query
function rc_modify_query_exclude_category( $query ) {
    // Check if on frontend and main query is modified
    if ( ! is_admin()  ) {
        $query->set( 'posts_per_page', '-1' );
    } // end if
}