Question

I am useing wp- simple page navigation plugin and my code in template for navigation is given below

 <?php

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

     $args = array( 'post_type' => 'product', 'posts_per_page' => 6, 'product_cat' => '', 'orderby' => 'rand' ,  'paged' => $page );
     $loop = new WP_Query( $args );
     while ( $loop->have_posts() ) : $loop->the_post(); global $product; ?>

      <div class="view view-eighth">
       <?php echo get_the_post_thumbnail($loop->post->ID, 'shop_catalog', array(
        'style' => 'width: 243px; height: 323px;'
       )); ?>
       <div class="mask">
        <div class="product_name"><?php echo esc_attr($loop->post->post_title ? $loop->post->post_title : $loop->post->ID); ?></div>
        <div class="price">
                                 <span><?php echo get_woocommerce_currency_symbol(); ?></span><?php echo get_post_meta( get_the_ID(), '_regular_price', true); //$product->get_price_html(); ?></div>
        <div class="add_to_cart_btn">
                                 <a href="<?php echo $product->add_to_cart_url(); ?>">Add to cart</a>
                                </div>
        <div class="details"><a href="<?php echo get_permalink( $loop->post->ID ); ?>">View Details</a></div>
       </div>
      </div>

    <?php endwhile;  wp_simple_pagination();   wp_reset_query(); ?>

My pagination showing but when i click on page number its not working

Any idea help greatly appreciated

Thanks
In advance

Était-ce utile?

La solution

Place the below custom pagination function in your theme's functions.php file, then call the function on page, where you want the pagination to appear, like this if (function_exists('_numeric_posts_nav')) {_numeric_posts_nav();}:

/********* CUSTOM PAGINATION ***********/

if (!function_exists('_numeric_posts_nav')) {
    function _numeric_posts_nav() {
    global $wp_query;
    /** Stop execution if there's if it is single past/page or only 1 page */
        if( is_singular() ) return;
        if( $wp_query->max_num_pages <= 1 ) return;

        $paged = get_query_var( 'paged' ) ? absint( get_query_var( 'paged' ) ) : 1;
        $max   = intval( $wp_query->max_num_pages );

        /** Add current page to the array */
        if ( $paged >= 1 )
            $links[] = $paged;

        /** Add the pages around the current page to the array */
        if ( $paged >= 3 ) {
            $links[] = $paged - 1;
            $links[] = $paged - 2;
        }

        if ( ( $paged + 2 ) <= $max ) {
            $links[] = $paged + 2;
            $links[] = $paged + 1;
        }

        echo '<div class="navigation clearfix"><ul>' . "\n";
        /** Previous Post Link */
        if ( get_previous_posts_link() )
            printf( '<li>%s</li>' . "\n", get_previous_posts_link() );
        /** Link to first page, plus ellipses if necessary */
        if ( ! in_array( 1, $links ) ) {
            $class = 1 == $paged ? ' class="active"' : '';
            printf( '<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url( get_pagenum_link( 1 ) ), '1' );
            if ( ! in_array( 2, $links ) )
                echo '<li>…</li>';
        }
        /** Link to current page, plus 2 pages in either direction if necessary */
        sort( $links );
        foreach ( (array) $links as $link ) {
            $class = $paged == $link ? ' class="active"' : '';
            printf( '<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url( get_pagenum_link( $link ) ), $link );
        }
        /** Link to last page, plus ellipses if necessary */
        if ( ! in_array( $max, $links ) ) {
            if ( ! in_array( $max - 1, $links ) )
                echo '<li>…</li>' . "\n";

            $class = $paged == $max ? ' class="active"' : '';
            printf( '<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url( get_pagenum_link( $max ) ), $max );
        }
        /** Next Post Link */
        if ( get_next_posts_link() )
            printf( '<li>%s</li>' . "\n", get_next_posts_link() );
            echo '</ul></div>' . "\n";
    }
}

That's it. You do not need a special plugin of pagination anymore and all links will work. Optionally you can set different CSS classes inside the function.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top