function wpse121308_redirect_homepage() {
// Check for blog posts index
// NOT site front page,
// which would be is_front_page()
if ( is_home() ) {
wp_redirect( get_category_link( $id ) );
exit();
}
}
add_action( \'template_redirect\', \'wpse121308_redirect_homepage\' );
您需要通过相应的类别
$id
, 当然
重定向的好处template_redirect
只会加载一个模板,而不是在加载模板后进行第二次重定向。
请注意,您甚至可以更早地挂接到该过程中,例如pre_get_posts
, 从而可能保存整个查询请求:
add_action( \'pre_get_posts\', \'wpse121308_redirect_homepage\' );
原始答案如果您只想在博客帖子索引上显示特定类别,您可以通过简单的
$wp_query
在
pre_get_posts
:
function wpse1862_pre_get_posts( $query ) {
// Only modify the main query
// on the blog posts index page
if ( is_home() && $query->is_main_query() ) {
$query->set( \'category_name\', \'category-slug-here\' );
}
}
add_action( \'pre_get_posts\', \'wpse1862_pre_get_posts\' );
如果要修改模板,可以执行以下两种操作之一:
创建home.php
使用所需的标记template_redirect
或home_template
强制WordPress包含您的category.php
模板
编辑,如果希望博客帖子索引URL如下所示:
www.example.com/main
那么你可以
use a Static Front Page, 并指定一个名为“main”的静态页面作为日志索引。
如果这是你的目标:
我真的想要重定向。我想要主页(http://example.com/
) 重定向到类别页面(如下所示http://example.com/main/
)
。。。那么,接受的答案对于您的用例来说是正确的。