2015-09-17 4 views
0

Я действительно тупик с этой проблемой разбиения на страницы с моей пользовательской темой Wordpress.Wordpress pagination для имени сообщения не работает

У меня есть пользовательская страница, которая отображает список «книг». Все отображает правильно даже разбиение на страницы. Моя опция постоянной ссылки установлена ​​на 'post name'. Поэтому, когда я хочу увидеть страницу 2 моего книжного списка, я нажимаю «2», и меня ведут на сайт www.domain.com/book-list/page/2, который дает мне ошибку 404. Однако, когда я изменяю параметр постоянной ссылки на «default», разбиение на страницы работает с? Paged = 2.

Я искал 2 дня, и я пробовал много разных вещей, но ни один из них не работает. Поблагодарите любую помощь.

Вот мои методы из function.php:

function get_book_posts($type, $num, $category = ""){ 

    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 
    $args = array(
    'post_type' => $type, 
    'posts_per_page' => $num, 
    'paged' => $paged, 
    'category_name' => $category); 

    $new_query = new WP_Query($args); 
    query_posts($args); 
} 

function get_book_pagination(){ 
    $args = array(
     'prev_text' => __('<'), 
     'next_text' => __('>')); 

    echo paginate_links($args);} 

От booklist.php

<?php $posts = get_book_posts('book', 6); ?> 

<?php if(have_posts()):?> 

<?php while (have_posts()):the_post()?> 
    <a href="<?php the_permalink();?>"><?php the_title();?></a> 
<?php endwhile; ?> 

<div class="pagination"> 
    <?php get_book_pagination(); ?> 
</div> 
<?php wp_reset_postdata(); ?> 

ответ

0

изменить настройки для чтения и сделать его по умолчанию 2 сообщений, после этого снова сделать по умолчанию постоянная ссылка на пользовательскую постоянную ссылку, и ваша проблема будет решена.

+0

здесь экран Шот http://screencast.com/t/I7SwBBw0t – Sumit

+0

Привет, я попытался установить постоянную ссылку в по умолчанию и изменил значение по умолчанию на 2 сообщения, а затем изменил постоянную ссылку на postname, но он все еще не работает. – Moo33

+0

ohh, можете ли вы дать страницу на сайте. поэтому я могу проверить и предоставить еще несколько решений. – Sumit

0

попробовать это:

<?php $posts = get_book_posts('post', 2); ?> 
      <?php if(have_posts()):?> 
      <?php while (have_posts()):the_post()?> 
       <a href="<?php the_permalink();?>"><?php the_title();?></a> 
      <?php endwhile; ?> 
      <div class="pagination"> 
       <?php 
       global $wp_query; 
       get_book_pagination(); ?> 
      </div> 
      <?php wp_reset_query(); ?>   
      <?php endif; ?> 

function.php

function get_book_posts($type, $num, $category = "") 
{ 

    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 
    $args = array(
    'post_type' => $type, 
    'posts_per_page' => $num, 
    'paged' => $paged, 
    'category_name' => $category); 

    $new_query = new WP_Query($args); 
    query_posts($args); 

} 

function get_book_pagination(){ 
    global $wp_query; 
    $args = array(
     'prev_text' => __('&lt;'), 
     'next_text' => __('&gt;'),  
     'total' => $wp_query->max_num_pages 
    ); 

    echo paginate_links($args); 
} 
+0

Привет, у меня все еще есть ошибка – Moo33

+0

какая ошибка у вас есть? – vrajesh

+0

Извините, но не ошибка, но моя разбивка по страницам по-прежнему не работает. Я напечатал свой wpquery на моей странице 404, и это то, что я получил: WP_Query Object ([query] => Array ([page] =>/3 [book] => page [post_type] => book [name] => page) [query_vars] => Array ([страница] => 3 [book] => страница [post_type] => book. – Moo33

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