链接到相同类别的索引循环中的下一个/上一个帖子?

时间:2014-04-24 作者:brunly

是否可以链接到索引中的下一个/上一个帖子。php与query_posts(\'cat=56\'); 循环之前?

<?php query_posts(\'cat=56\'); 
if (have_posts()) : while (have_posts()) : the_post(); ?>

next post title

<?php the_title(); ?>

previous post title

<?php endwhile; ?>
<?php endif; ?>
下一个/上一个\\u post\\u与TRUE的链接不起作用。。

<?php next_post_link(\'&laquo; %link\',\'%title\', TRUE) ?>
<?php previous_post_link(\'%link &raquo;\',\'%title\', TRUE) ?>

UPDATE

我需要在主页中只显示所选的帖子(所选类别),并在同一类别中显示帖子的下一个/上一个标题(所选)。enter image description here

在此图像中,您可以看到带标题的滑块。在本例中,下一个帖子是PIAZZALI PUBBLICI,但它不属于选定的类别:滑块中的下一个图像帖子是另一个。

2 个回复
最合适的回答,由SO网友:Pieter Goosen 整理而成

淘气的孩子你,你永远不要用query_posts. 直接摘自《法典》:

注意:此功能不适用于插件或主题。如后文所述,有更好、性能更好的选项来更改主查询。query\\u posts()是一种过于简单且有问题的方法,通过将页面的主查询替换为新的查询实例来修改它。

WP_Query 应该使用。我会这样做

<?php
// set the "paged" parameter (use \'page\' if the query is on a static front page)
$paged = ( get_query_var( \'paged\' ) ) ? get_query_var( \'paged\' ) : 1;

// the query
$the_query = new WP_Query( \'cat=56&paged=\' . $paged ); 
?>

<?php if ( $the_query->have_posts() ) : ?>

<?php
// the loop
while ( $the_query->have_posts() ) : $the_query->the_post(); 
?>
<?php the_title(); ?>
<?php endwhile; ?>

<?php

// next_posts_link() usage with max_num_pages
next_posts_link( \'Older Entries\', $the_query->max_num_pages );
previous_posts_link( \'Newer Entries\' );
?>

SO网友:Brad Dalton

可以使用以下代码从函数文件中执行此操作:

add_action(\'loop_end\', \'wpsites_nav_links\', 25 );
function wpsites_nav_links() {
if( !is_single() ) 
  return;

previous_post_link(\'<span class="single-post-nav previous-post-link">%link</span>\', \'&lt;&lt; Previous Post in Category\', TRUE);
next_post_link(\'<span class="single-post-nav next-post-link">%link</span>\', \'Next Post in Category &gt;&gt;\', TRUE);
}
只需将loop\\u end更改为任何其他特定主题或WordPress挂钩,或使用类似的过滤器the_content

结束

相关推荐

Multiple parent categories

我是wordpress的新手。我想为每个主要类别创建一些主要类别和5个子类别。两个主要类别的子类别将相同。E、 g主要类别将是“美国”、“加拿大”等。子类别将是“地点”、“照片”等。是否可以使用单个wordpress进行此操作,或者是否需要为每个主要类别安装另一个wordpress?