custom post type index page

时间:2013-12-19 作者:agis

我已经注册了一个自定义的帖子类型,我想创建一个页面,在那里我将列出一些帖子,这将像一个索引页面。

我创建了一个名为mycpt-archive.php 还有一个叫做myCPT.php.

我在菜单中添加了一个名为“myCPT”的自定义URL,如下所示:www.mywebsite.com/mycpt 现在,当我从前端菜单单击“myCPT”时,它显示mycpt-archive.php 内容而非myCPT.php.

我已经查看了CODEX的模板层次结构,似乎我的思路是正确的。

当我从前端菜单中单击“myCPT”时,显示的页面为mycpt-archive.phpmyCPT.php 我想打开它。

我错过了什么?非常感谢。

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

如果您有:

register_post_type( \'my_custom_post_type\', $args );
如果您需要一个自定义页面来显示此自定义帖子类型中的所有条目,您必须创建:archive-my_custom_post_type.php.但如果您不需要自定义页面,wordpress将使用存档。php来显示自定义的post类型存档

如果只需要自定义入口页面,则必须创建:single-my_custom_post_type.php

在主题函数中,您将在何处创建自定义帖子类型。php还是使用插件
如果使用函数。php,您需要创建archive-my_custom_post_type.phpsingle-my_custom_post_type.php 在主题文件夹中

如果使用插件,则需要创建archive-my_custom_post_type.phpsingle-my_custom_post_type.php 在插件文件夹中,指向wordpress阅读它,因此在插件中包含此功能:

function get_custom_post_type_template($template) {
    global $post;

    if ($post->post_type == \'my_custom_post_type\') {
        $template = dirname( __FILE__ ) . \'/archive-my_custom_post_type.php\';
    }
    return $template;
}

//add_filter( "single_template", "get_custom_post_type_template" ); //for single page
add_filter( "archive_template", "get_custom_post_type_template" ); //for archive

SO网友:MiracleGotMojo

这听起来像是您将创建一个名为which的自定义模板页面,并将所需的自定义查询代码放入该特定模板页面中。创建模板页面后,创建一个实际的wordpress页面,并将其设置为使用该自定义模板页面。这有意义吗。

创建自定义模板页面

  • 点击发布
  • 完成后,您可能需要编辑模板页面来调整和优化查询。

    让我知道我是否在正确的轨道上满足您的需求。

    结束

    相关推荐

    Hierarchical gallery

    我想要几个画廊,每个画廊都有几个图片。这种两级结构的正确方式是什么?我会把每个画廊的每一个元素都做成一个帖子。