将CPT索引页显示为首页/主页

时间:2013-05-17 作者:Zach Russell

我正在建立一个网站,其唯一目的是显示其他网站(在CPT中定义)。可以将其视为公司数字资产的投资组合网站。我已经定义了CPT并在其中添加了网站。我创建了一个portfolio-archive.php 模板(CPT的名称)。现在可以在/portfolio 鼻涕虫我想这是该网站的主页。我该怎么做呢?

1 个回复
最合适的回答,由SO网友:fuxia 整理而成

重命名portfolio-archive.phpfront-page.php 并在启用筛选器的情况下更改该页面的帖子类型pre_get_posts:

add_filter( \'pre_get_posts\', \'wpse_99860_portfolio_on_front\' );

function wpse_99860_portfolio_on_front( $query )
{
    // not the main loop
    if ( ! $query->is_main_query() )
        return $query;

    // not the front page
    if ( ! $query->is_front_page() )
        return $query;

    $query->set( \'post_type\', array ( \'portfolio\' ) );

    return $query;
}

结束

相关推荐

显示Archives.php中的所有自定义帖子类型

我该怎么做?archive.php 只有以下内容:wp_get_archives(\'type=monthly\'); 以及wp_get_archives() 没有显示所有帖子类型的参数。我也认为archive-[post_type].php 不是我要找的,因为我希望所有帖子类型都显示在一个归档页面中。谢谢W