我已成功地将我的博客页面重定向到我的最新帖子,即,当您单击导航中的“博客”链接时,它将转到最新的帖子页面,您可以单击下一步/上一步按钮在其他帖子之间导航。
现在,我想做同样的事情,但对于特定类别,因此当您单击类别链接时,它将显示该类别中所有帖子的存档页面,而不是该类别中最近的帖子。
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);
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_link 和
http://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);