分页将产品添加到购物车Woo-Commerce

时间:2015-10-24 作者:Faisal Naseer

在我的WordPress Woo Commerce主题中,当产品从商店页面添加到购物车时,它会使用url添加到购物车中,例如/shop/page/3/?add-to-cart=149 当我使用分页切换到另一个页面时,它无法删除?add-to-cart=149 从url和访问时转到下一页或上一页,并再次添加相同的产品。对于导航,我使用自定义函数。

function custom_pagination() {
    global $wp_query;

    $pages = paginate_links( array(
            \'base\'         =>  esc_url_raw( str_replace( 999999999, \'%#%\', remove_query_arg( \'add-to-cart\', get_pagenum_link( 999999999, false ) ) ) ),
            \'format\' => \'?paged=%#%\',
            \'current\' => max( 1, get_query_var(\'paged\') ),
            \'total\' => $wp_query->max_num_pages,
            \'prev_next\' => false,
            \'type\'  => \'array\',
            \'prev_next\'   => TRUE,
            \'prev_text\'    => __(\'«\'),
            \'next_text\'    => __(\'»\'),
        ) );
        if( is_array( $pages ) ) {
            $paged = ( get_query_var(\'paged\') == 0 ) ? 1 : get_query_var(\'paged\');
            echo \'<ul class="pagination">\';
            foreach ( $pages as $page ) {
                    echo "<li>$page</li>";
            }
           echo \'</ul>\';
        }
}
它必须在基本参数中处理它,但它没有这样做。

1 个回复
SO网友:user87816

将此代码粘贴到functions.php 这将得到解决。

add_action(\'add_to_cart_redirect\', \'resolve_dupes_add_to_cart_redirect\');
function resolve_dupes_add_to_cart_redirect($url = false) {
     if(!empty($url)) { return $url; } 

     return get_bloginfo(\'wpurl\').add_query_arg(array(), remove_query_arg(\'add-to-cart\'));
}

相关推荐

Count posts for pagination

我正在为一个网站分页<;上一页(页码)下一页>很简单,已经完成。但是现在我需要添加一个选择器来直接转到页面(例如:转到第7页),要这样做,我需要知道有多少页面,为此我需要计算在查询中找到了多少帖子。问题是这个网站有太多的帖子(>13.000),查询所有帖子都会减慢页面加载速度,这就像。。。10秒后页面才能加载。显然,这是不可接受的。分页解决了这个问题,因为一次只加载50或100篇文章,但我无法将它们全部计算在内。我可以在不加载的情况下统计某个查询中的帖子吗?或者我可以通过其他方式获得页数吗