更改自定义帖子类型档案的名称

时间:2016-10-25 作者:Kleeramne

我有一个自定义的帖子类型acme_reviews. 我已经按照教程中的建议对其命名,以防止将来发生冲突。但我希望它的归档页面acme.com/reviews, 不acme.com/acme_reviews. 我如何做到这一点?这是我的代码:

function create_reviews_post_type() {
    register_post_type(\'acme_reviews\', array(
        \'labels\' => array(
            \'name\' => __(\'Reviews\'),
            \'singular_name\' => __(\'Review\')
            ),
        \'menu_position\' => 5,
        \'public\' => true,
        \'has_archive\' => true,
        )
    );
}
add_action(\'init\', \'create_reviews_post_type\');

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

register\\u post\\u type has\\u archive选项也接受字符串。该字符串将用于存档。请参见下面代码中的更改:

function create_reviews_post_type() {
    register_post_type(\'acme_reviews\', array(
        \'labels\' => array(
            \'name\' => __(\'Reviews\'),
            \'singular_name\' => __(\'Review\')
            ),
        \'menu_position\' => 5,
        \'public\' => true,
        \'has_archive\' => \'reviews\',
    );
}
add_action(\'init\', \'create_reviews_post_type\');

SO网友:rudtek

根据法典(以及对我有用的东西!)就是在数组中使用重写。这两种方法都有效,但wordpress建议使用以下直接摘自codex的改写:

has\\u archive(布尔或字符串)(可选)启用post类型存档。默认情况下,将使用$post\\U type作为归档段塞。

默认值:false

注意:如果启用了重写,将生成正确的重写规则。Also use rewrite to change the slug used.

确保刷新永久链接规则。如果这是在插件中,我总是建议添加一个init,在插件激活时刷新规则。

这是代码,请注意,我也自定义了函数名,原因与您自定义帖子名本身相同。

function create_acme_reviews_post_type() {  //namespaced your function too..
    register_post_type(\'acme_reviews\', array(
        \'labels\' => array(
            \'name\' => __(\'Reviews\'),
            \'singular_name\' => __(\'Review\')
            ),
        \'menu_position\' => 5,
        \'public\' => true,
        \'has_archive\' => true,
        \'rewrite\' => array( \'slug\' => \'reviews\' ), //changes permalink structure
        )
    );
}
add_action(\'init\', \'create_acme_reviews_post_type\'); //namespaced function call too..

相关推荐

Displaying Archives List

我正在使用显示列表或档案<?php get_archives(\'monthly\', \'\', \'html\', \'\', \'\', FALSE); ?> 并显示我的列表2012年12月-2012年11月等但是,我想将其格式化以显示:12.1211.1210.12等有什么想法吗?