将页面指定为CPT档案的父级

时间:2013-04-23 作者:beefchimi

我的网站上有一个“关于我们”的页面,其中有一些子页面。我创建了一个“History”自定义帖子类型,其中重写slug是“History”。

我使用archive-cpt\\u历史记录。php作为该CPT的模板文件。一切都按照它的配置工作,我可以去网站。com/history/to see my CPT loop in all it glority(查看我的CPT循环的全部荣耀)。

问题是,我需要这个历史CPT成为一个关于我们的孩子。如何将slug重写为“关于我们/历史”,使其与存档/登录页配合使用?我可以这样做:

\'rewrite\' => array( \'slug\' => \'/about-us/history\', \'with_front\' => false ),
但这只适用于单个帖子,而不适用于存档/登录页。任何帮助都将不胜感激。

此外,如果这是相关的,一旦我解决了这个问题single-cpt\\U history。php只需使用“标题(\'位置:\'。site\\u url(\'\');”将用户重定向回主页。个人历史帖子从来没有任何永久链接。设计就是不是这样的。历史登录页将始终显示CPT中的所有帖子。

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

在register post类型参数中,设置rewritetruehas_archive 到存档页所需的路径(不带斜杠):

\'rewrite\' => true,
\'has_archive\' => \'about-us/history\'
至于重定向,您可以提前缩短单个帖子的加载并消除对单个cpt模板的需求,而不是一直到模板:

function wpa_parse_query( $query ){
    if( is_singular() && isset( $query->query_vars[\'cpt_history\'] ) ){
        wp_redirect( home_url() );
    }
}
add_action( \'parse_query\', \'wpa_parse_query\' );

结束

相关推荐

将页面指定为CPT档案的父级 - 小码农CODE - 行之有效找到问题解决它

将页面指定为CPT档案的父级

时间:2013-04-23 作者:beefchimi

我的网站上有一个“关于我们”的页面,其中有一些子页面。我创建了一个“History”自定义帖子类型,其中重写slug是“History”。

我使用archive-cpt\\u历史记录。php作为该CPT的模板文件。一切都按照它的配置工作,我可以去网站。com/history/to see my CPT loop in all it glority(查看我的CPT循环的全部荣耀)。

问题是,我需要这个历史CPT成为一个关于我们的孩子。如何将slug重写为“关于我们/历史”,使其与存档/登录页配合使用?我可以这样做:

\'rewrite\' => array( \'slug\' => \'/about-us/history\', \'with_front\' => false ),
但这只适用于单个帖子,而不适用于存档/登录页。任何帮助都将不胜感激。

此外,如果这是相关的,一旦我解决了这个问题single-cpt\\U history。php只需使用“标题(\'位置:\'。site\\u url(\'\');”将用户重定向回主页。个人历史帖子从来没有任何永久链接。设计就是不是这样的。历史登录页将始终显示CPT中的所有帖子。

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

在register post类型参数中,设置rewritetruehas_archive 到存档页所需的路径(不带斜杠):

\'rewrite\' => true,
\'has_archive\' => \'about-us/history\'
至于重定向,您可以提前缩短单个帖子的加载并消除对单个cpt模板的需求,而不是一直到模板:

function wpa_parse_query( $query ){
    if( is_singular() && isset( $query->query_vars[\'cpt_history\'] ) ){
        wp_redirect( home_url() );
    }
}
add_action( \'parse_query\', \'wpa_parse_query\' );

相关推荐