在产品信息上添加分页号码

时间:2019-05-15 16:28:25

标签: php wordpress woocommerce pagination

这就是网站。https://chicafriqfashion.com/https://chicafriqfashion.com/fabrics/之类的页面之一上都有产品。

我能够在页面底部添加分页,但这只是上一页和下一页。

我需要它来显示页码。

请帮助。

这是开始

#!/bin/bash -x

CUDA_ROOT=/usr/local/cuda-8.0
CPP=$CUDA_ROOT/bin/nvcc
LDLIBS='-lm -lcudart -lgomp'
THRUST=$CUDA_ROOT/include
LDFLAGS="-L$CUDA_ROOT/lib64 -L$CUDA_ROOT/lib"
CUDA_FLAGS_COMMON='-gencode arch=compute_35,code=sm_35'

$CPP --compiler-options "-Wfatal-errors" $CUDA_FLAGS_COMMON -I$THRUST -I$CUDA_ROOT/include -Xcompiler -fopenmp -DTHRUST_HOST_SYSTEM=THRUST_HOST_SYSTEM_OMP -DTHRUST_DEVICE_SYSTEM=THRUST_DEVICE_SYSTEM_CUDA $LDLIBS $LDFLAGS -o test test.cu

这是我的分页代码

<?php

        $args = array( 'post_type' => 'product', 'stock' => 1, 'product_cat' => 'earrings-ring', 'posts_per_page' => '12','order' => 'DESC', 'paged' => $paged );
        $loop = new WP_Query( $args );
        while ( $loop->have_posts() ) : $loop->the_post(); global $product; ?>

2 个答案:

答案 0 :(得分:1)

解决方案-1(归档页面)

首先获取要在Wp_Query参数中传递的当前页面。

        // current page
        $paged = get_query_var( 'paged' ) ? get_query_var( 'paged' ) : 1;

        // prepare arguments
        $args = array( 'post_type' => 'product',
       'stock' => 1,
       'product_cat' => 'earrings-ring',
       'posts_per_page' => '12',
       'order' => 'DESC',
       'paged' => $paged 
       );

        //prepare query
        new WP_Query( $args ); 

您应该在wp_reset_postdata()之前调用WordPress分页功能

            the_posts_pagination( array(
                'prev_text'          => '<span class="fa fa-angle-left" aria-hidden="true"></span>',
                'next_text'          => '<span class="fa fa-angle-right" aria-hidden="true"></span>',
                'screen_reader_text' => '&nbsp;',
                'before_page_number' => '',
                'mid_size'    => 3,
            ) );

解决方案-2(自定义模板)

构造Wp查询

        // prepare arguments
        $args = array( 'post_type' => 'product',
       'stock' => 1,
       'product_cat' => 'earrings-ring',
       'posts_per_page' => '12',
       'order' => 'DESC',
       'paged' => $paged 
       );

        //prepare query
        $query = new WP_Query( $args );
        $totalPage=$query->max_num_pages;

呼叫分页功能

                $big = 999999999; // need an unlikely integer
                echo paginate_links( array(
                    'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
                    'format' => '?paged=%#%',
                    'current' => max( 1, get_query_var('paged') ),
                    'total' => $totalPage
                ) );

此解决方案适用于自定义页面模板。您可以检查wordpress官方documentation.

答案 1 :(得分:0)

在活动主题function.php文件中添加以下代码。
注意:如果您有子主题,则将此代码添加到子主题function.php文件中

if ( ! function_exists( 'number_pagination' ) ) :
    function number_pagination() {
        global $wp_query;

        $big = 999999999; 

        echo paginate_links( array(
            'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
            'format' => '?paged=%#%',
            'current' => max( 1, get_query_var('paged') ),
            'total' => $wp_query->max_num_pages
        ) );
    }
endif;

在要显示数字分页的位置添加以下代码。

<?php number_pagination( $loop ); ?>
</div>