2016-08-22 58 views
2

我创建了一个名为archive-key_piece.php的自定义模板以容纳自定义帖子类型'Key Pieces'。我想在posts_per_page从10个职位,使用query_posts('post_type=key_piece&posts_per_page=12&paged='.$paged);WordPresspress:query_posts()在自定义帖子类型的存档中禁用next_posts_link()

的问题是,当我使用query_posts(),它完全禁用分页(偶/关键件/页/ 2 /韩元”更改为12.我也做没有工作,它只会变成与第1页相同的结果)。

当我使用

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 
query_posts('post_type=key_piece&posts_per_page=12&paged='.$paged); 

这让我通过URL手动访问的下一个页面(关键件/页/ 2 /等),但它仍然禁止next_posts_link()

我也试过这在函数中.php

function number_of_posts_on_archive($query){ 
    if ($query->is_archive) { 
      $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 
      $query->set('posts_per_page', 12); 
      $query->set('pagination', $paged); 
    } 
    return $query; 
} 

add_filter('pre_get_posts', 'number_of_posts_on_archive'); 

但结果相同。

任何帮助,非常感谢。谢谢!

+0

请勿在WordPress中使用[query_posts](http://stackoverflow.com/documentation/wordpress/4002/querying-posts#t=201608220608201931263)进行发帖查询。这是非常不鼓励的。 –

回答

2

你在这里。

<?php 
    $variable = $WPQuery; 
    $WPQuery = null; 
    $WPQuery = new WPQuery(); 
    $WPQuery->query('showposts=6&post_type=news'.'&paged='.$paged); 

    while ($WPQuery->have_posts()) : $WPQuery->the_post(); 
?> 

    <!-- Template Stuff Here--> 

<?php endwhile; ?> 

<div class="navigation"> 
    <?php previous_posts_link('&laquo; Newer Here') ?> 
    <?php next_posts_link('Older Here &raquo;') ?> 
</div> 

<?php 
    $WPQuery = null; 
    $WPQuery = $variable; // Reset 
?> 

希望它能帮助你。

+0

我试过了,它没有改变任何东西。然而,它让我尝试在我的链接前面加上一个 ,这些链接可以解决它们出于任何原因。 – Patrick

相关问题