2015-11-02 2 views
0

I Searched internet, но не смог найти решение. Я получаю сообщение об ошибке 404, когда я перейти на любую другую страницу с помощью WP PageNavi,Страница не найдена Ошибка при навигации

<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(); ?>

+0

Этот 'wp_pagenavi ($ product_query);', вероятно, является проблемой. Прокомментируйте это и посмотрите, есть ли у вас сообщение об ошибке. И избегайте добавления пробелов в вызовы методов, которые также могут вызывать проблемы ('$ product_query -> has_posts()' должно быть '$ product_query-> has_posts())'. – vard

+0

спасибо mate за ответ, я не получаю ошибку при удалении wp_pagenavi ($ product_query); но я также не получаю навигацию? Мне нужна навигация .. Также я просто удалил пробелы – Habib

+0

Я просто нашел решение, заменив wp_pagenavi ($ product_query); с wp_pagenavi (array ('query' => $ product_query)), но теперь я получаю 404 в навигации .. – Habib

ответ

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(); для сброса основного запроса после цикла.

Смежные вопросы