页面未找到导航时出错

时间:2015-11-02 14:48:05

标签: wordpress

我搜索了互联网但未找到解决方案。当我使用wp pagenavi导航到任何其他页面时,我收到404错误,

 <ul class="product-items">
        <?php
    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;

     $args = array(
        'post_type'=>'product',
       'posts_per_page' => 1,
       'paged' => $paged
    ); 

    $product_query = new WP_Query($args);

    if($product_query->have_posts()) : while($product_query ->have_posts()) : $product_query ->the_post(); 
     $id = get_the_ID();

    ?>


            <li>
                    <a href="<?php the_permalink(); ?>">
                    <span class="product-img"><?php echo get_the_post_thumbnail($id, array(101,128,true)) ?></span>
                    <span class="product-detail"><?php $title=get_the_title(); echo $trimed=wp_trim_words($title,3) ?></span>
            </a>
                </li>
                <?php endwhile;   if(function_exists('wp_pagenavi')) { wp_pagenavi( array( 'query' => $product_query)); }

wp_reset_postdata(); ?&GT;             

1 个答案:

答案 0 :(得分:1)

这是一个非常优秀的情况,使用query_posts可能很有用,因为您需要替换主查询以使您的分页插件工作。因此,您必须将查询更改为:

$args = array(
    'post_type'=>'product',
   'posts_per_page' => 1,
   'paged' => $paged
); 

$product_query = new WP_Query($args);

if(have_posts()):
    while(have_posts()) : the_post(); 
        $id = get_the_ID();
        ?>
        <li>
                <a href="<?php the_permalink(); ?>">
                <span class="product-img"><?php echo get_the_post_thumbnail($id, array(101,128,true)) ?></span>
                <span class="product-detail"><?php $title=get_the_title(); echo $trimed=wp_trim_words($title,3) ?></span></a>
        </li>
    <?php endwhile;  
     if(function_exists('wp_pagenavi')) { 
        wp_pagenavi();
    }
wp_reset_query();
endif; ?>

在循环之后使用wp_reset_query();重置主查询非常重要。