WP 3.1-定制内容类型的存档页面现在不需要插件了吗?

时间:2011-02-28 作者:Osu

我注意到WP 3.1应该有\'new CMS capabilities like archive pages for custom content types\', 然而,我还看不到它的实现?

我一直在使用一个名为“简单自定义帖子类型存档”的插件来查看url上的自定义帖子http://www.domainname.com/custom-post-type/, 但考虑到“现在可能”,希望使用内置功能。

还有其他人有同样的问题吗?

谢谢

osu

另外,我正在使用archive-custom\\u post\\u type\\u名称。php尝试设置自定义帖子类型归档页面的样式

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

是的,您只需要设置has_archive 注册自定义帖子类型时,将参数设置为true或您选择的slug。

因此,首先添加has_archive 参数,下面是一个示例。。。

add_action( \'init\', \'question_10706_init\' );

function question_10706_init() {

    register_post_type( \'example\', array(
        \'labels\' => array(
            \'name\' => __(\'Examples\'),
            \'singular_name\' => __(\'Example\')
            ),
        \'public\' => true,
        \'show_ui\' => true,
        \'rewrite\' => array(
            \'slug\' => \'example\',
            \'with_front\' => false
            ),
        //\'has_archive\' => true // Will use the post type slug, ie. example
        //\'has_archive\' => \'my-example-archive\' // Explicitly setting the archive slug
    ) );

}
Thehas_archive 参数支持以下设置。

  1. false (默认设置)

    无存档

  2. true

    存档url是根据post类型slug制定的

    www.example.com/example/

  3. \'string\'

    存档url显式设置为您提供的slug

    www.example.com/my-example-archive/

添加参数后,请访问permalink页面,这将导致重写规则的重新生成,从而考虑自定义帖子类型存档。

最后,创建archive-{$post_type}.php 处理该存档的模板(可以是现有存档的直接副本->粘贴,根据需要进行调整)<注意{$post_type} 当然会代表你的实际职位类型。

Sourced information:

<马克·麦克威廉姆斯(Mark McWilliams)也在他的博客上写道:
WordPress 3.1 Introduces Custom Post Type ArchivesTicket #13818 - There should be index pages for custom post types
SO网友:Simon Blackbourn

是的,这是在3.1中实现的,您必须确保传递给register_post_type 拥有has_archive 标志设置为true。请参见Codex page 关于它。

您可能还需要访问permalink设置页面并重新提交它们,这似乎经常会有所帮助。

结束

相关推荐