使用自定义参数扩展页面路由

时间:2013-08-09 作者:hsz

在WordPress中定义了一个简单的路由

/%postname%/
所以当我访问/projects/ 这让我很累Projects 已指定自定义的页面template_projects.php 样板

是否可以扩展路由,但仅限于此模板?

假设我想扩展路由以处理项目id,那么应该是:

/%postname%/%project-id%/
但其他页面将使用基本路线。

1 个回复
SO网友:Eugene Manuilov

在您的情况下,您需要为您的项目注册自定义帖子类型。您可以使用register_post_type 功能:

add_action( \'init\', \'wpse8170_register_post_type\' );
function wpse8170_register_post_type() {
    register_post_type( \'wpse8170-projects\', array(
        \'label\'   => \'Projects\',
        \'public\'  => true,
        \'rewrite\' => array( \'slug\' => \'project\' ),
    ) );
}
别忘了flush rewrite rules.

注册自定义帖子类型后,您的项目将具有/project/%wpse8170-projects% (%wpse8170-project% 将被project slug)permalink结构所取代,您将能够使用single-wpse8170-projects.php 项目的模板。

结束

相关推荐

Debugging WP routing

对于一些帖子,我看到404页,即使存在帖子,在WP中使用永久链接决定需要呈现什么对象的位置在哪里?谢谢