这是我能想到的最好的解决方案,满足了基于子域等因素动态设置主页(而不是模板)的需要。
add_action( \'pre_get_posts\', \'dynamic_home\' );
function dynamic_home( $query ) {
if ( is_front_page() && $query->is_main_query() ) {
$query->set( \'post_type\' , \'my-cpt\' );
$query->set( \'name\' , \'a-slug\' );
$query->set( \'p\' , null );
$query->set( \'page_id\' , null );
}
}
在上面的一些\\u custom\\u condition()中可能包含逻辑,例如当前URL是否为主页。
此示例使用自定义帖子类型覆盖主页,但如果只使用页面内容类型,则会更简单。
仅设置模板是不够的,并且无法扩展到可能无限数量的主页。这样的情况是,网站的每个用户在自己的子域上都有自己的个性化主页。