2013-08-08 4 views
0

У меня проблема с разбиением на страницы в wordpress. У меня есть шаблон категории, который ускоряет запрос для настраиваемых сообщений. Проблема в том, что когда я добавляю разбивку на страницы и вы переходите на следующую страницу, разбиение на страницы добавляет $ _GET ['paged'], но шаблон отклоняет его и нажимает на страницу 404. Я также обнаружил, что если $ _GET ['paged'] = 1, все работает нормально, но если это 2 или более бросок 404 страницы. Дело в том, что я пытаюсь использовать индексный цикл, и он также не работает. Я использую тему html5blank.wordpress 404 после нажатия на ссылки на страницы

Вот код запроса:

<section id="inner-pad"> 
<?php 
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;  
$args = array(
//'posts_per_page' => 6, 
'post_type' => 'menu-pub', 
'cat' =>3, 
'paged' => $paged, 
'order'=>'DESC' 
); 
$wp_query = new WP_Query($args); 
$i=1; 
while ($wp_query->have_posts()) 
{ 
    $wp_query->the_post(); 
    ?> 
    <article class="article-first-vision <?= ($i==2)?'mar':'' ?>" > 
    <?php if (has_post_thumbnail()) { ?> 
    <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"> 
    <?php the_post_thumbnail('menu-pub'); ?> 
    </a> 
    <?php 
}; ?> 
    <h2> 
    <?php the_title(); ?> 
    </h2> 
    <p> 
    <?php the_content(); ?> 
    </p> 
    </article> 
    <?php 
    if($i==3){$i=0;}enter code here 
    $i++; 
} 
?> 
    </section> 
    <?php 
    $big = 999999999; 
    echo paginate_links(array(
    'base' => str_replace($big, '%#%', get_pagenum_link($big)), 
    'format' => '?paged=%#%', 
    'current' => max(1, get_query_var('paged')), 
    'total' => $wp_query->max_num_pages 
    )); 
    ?> 

Вот новый диалог, где я поставил тему для этого:

http://wordpress.org/support/topic/custom-post-and-category-template-pagination-problem?replies=2#post-4560385

ответ

0

попробовать добавить global $wp_query до того paginate_links()

+0

Да, у меня оно есть. Спасибо за ответ, что это не проблема. Я попытаюсь это объяснить. Так что в коде нет ничего плохого. Дело в том, что когда я использовал в категории и добавлял другой атрибут 'posts_per_page' => 1 для Wp_query, то разбиение на страницы получило номер от администратора в настройке Чтения -> Страницы блога отображались не более "числа". Поэтому, когда я говорю ему, чтобы показать мне только два сообщения в шаблоне категории, он отличается от настройки paginations. Таким образом, мое решение этого заключалось в том, чтобы установить 1 в настройках Режима -> страницы блога, которые показывают максимум, а затем все начинает работать. –

0

Привет, вот ответ на мой вопрос:

add_action('parse_query','changept'); 
function changept() { 
if(is_category() && !is_admin()) 
    set_query_var('post_type', array('menu-pub', 'new-pub', 'read-pub', 'awards-pub', 'live-pub','post')); 
return; 
} 
Смежные вопросы