是否在类别中显示最新帖子,而不是存档?

时间:2011-09-26 作者:fxfuture

我已成功地将我的博客页面重定向到我的最新帖子,即,当您单击导航中的“博客”链接时,它将转到最新的帖子页面,您可以单击下一步/上一步按钮在其他帖子之间导航。

现在,我想做同样的事情,但对于特定类别,因此当您单击类别链接时,它将显示该类别中所有帖子的存档页面,而不是该类别中最近的帖子。

The next/prev buttons then need to navigate to posts only in that category.

有什么办法吗?

谢谢

===============UPDATE===============

我从single复制了我的代码。php到类别。php并使用了single\\u cat\\u title();在页面顶部显示类别名称。

需要将我的下一个/上一个\\u post\\u链接更改为下一个/上一个\\u posts\\u链接

唯一的缺点是URL显示/cat=[catname]&;paged=2,而不是帖子的名称,但这并不是什么大问题。

剩下的唯一问题是如何显示附在每篇文章上的全屏背景图像,并在我的标题中引用如下。php:

$background_image = get_post_meta($page_id, \'mb_background_image\', true);   
$src = wp_get_attachment_image_src($background_image, \'full\');
如何从类别页面调用此选项?

===============UPDATE 2===============

通过替换此行进行修复:

$background_image = get_post_meta($post->ID, \'mb_background_image\', true);          

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

你知道,做你想做的事的另一种方法就是posts_per_page 变量至1 在里面Dashboard -> Settings -> Reading.

SO网友:Brian Fegter

您可以通过在主题中创建名为“类别”的模板来实现这一点。php使用以下内容。

<?php 
$category = get_query_var(\'category_name\');
$category = get_term_by(\'name\', $category, \'category\');
$category_ID = $category->term_id;
$post = get_posts("numberposts=1&post_type=post&category=$category_ID");
$post = $post[0];
$url = get_permalink($post->ID);
wp_redirect( $url, 301 ); 
exit;
您可以使用以下函数来维护类别一致性。确保in\\u same\\u cat设置为true。

<?php next_post_link(\'format\', \'link\', \'in_same_cat\', \'excluded_categories\'); ?> 
请参见以下示例:http://codex.wordpress.org/Function_Reference/previous_post_linkhttp://codex.wordpress.org/Function_Reference/next_post_link

不确定如何处理帖子链接的相同类别。真的没有上下文来说明应该选择哪一类。如果帖子之间存在公共类别,它将在查询中使用该类别。您可以使用以下命令更改查询。我不知道你到底想做什么,所以我加入了一个var\\u转储,这样你就可以看到幕后发生了什么。

function change_adjacent_post_query($join){
    var_dump($join);
    //Alter the query here to your liking
    return $join;
}
add_filter(\'get_previous_post_join\', \'change_adjacent_post_query\', 1);
add_filter(\'get_next_post_join\', \'change_adjacent_post_query\', 1);

结束

相关推荐

POSTS_NAV_LINK()不显示任何内容

我很难让posts\\u nav\\u link()显示任何内容。下面是我的索引。php模板文件,我正在使用permalinks(index.php/2011/08/26/sample-post/ 格式),并且我当前已获得Blog pages show at most 设置为-1.有人知道为什么链接不起作用吗?index.php <?php get_header(); $args = array(\'posts_per_page\' => 4,\'paged\'