dsiy62758 2014-05-08 06:31
浏览 47
已采纳

wp简单页面导航无法在我的产品模板中使用

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

  • 写回答

1条回答 默认 最新

  • duankuan5319 2014-05-08 06:39
    关注

    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>' . "
    ";
            /** Previous Post Link */
            if ( get_previous_posts_link() )
                printf( '<li>%s</li>' . "
    ", 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>' . "
    ", $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>' . "
    ", $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>' . "
    ";
    
                $class = $paged == $max ? ' class="active"' : '';
                printf( '<li%s><a href="%s">%s</a></li>' . "
    ", $class, esc_url( get_pagenum_link( $max ) ), $max );
            }
            /** Next Post Link */
            if ( get_next_posts_link() )
                printf( '<li>%s</li>' . "
    ", get_next_posts_link() );
                echo '</ul></div>' . "
    ";
        }
    }
    

    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.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 求快手直播间榜单匿名采集ID用户名简单能学会的
  • ¥15 DS18B20内部ADC模数转换器
  • ¥15 做个有关计算的小程序
  • ¥15 MPI读取tif文件无法正常给各进程分配路径
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决
  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历