自定义帖子类型:使用相同的slug创建页面模板

时间:2017-06-27 14:24:55

标签: wordpress custom-wordpress-pages

我目前正在开发自定义帖子类型,并希望能够使用页面模板从Wordpress编辑存档页面。所以我创建了名为'cars'的CPT并创建了一个模板名称为'Cars overview'的页面模板。接下来,我在WordPress中创建一个页面,然后选择模板页面'Cars overview'并为其指定URL:mywebsite.com/cars /

现在的问题是slug'mywebsite.com/cars/'已被自定义帖子类型本身使用,导致页面加载自定义帖子类型循环而不是页面模板循环。所以我无法编辑WordPress中的标题,内容等。我可以更改页面的URL,但我希望能够控制WordPress中的概述页面。

长话短说:如何创建使用与自定义帖子类型存档页面相同的URL的页面模板?

提前致谢!

1 个答案:

答案 0 :(得分:0)

一个简单的解决方案,只需在您创建自定义帖子类型的位置禁用存档:

register_post_type("cars", array("has_archive" => false));

另一种方法,然后禁用存档并添加另一个页面来显示汽车。更改主题使用的存档模板可能是更好的选择。

第一步是找到主题当前使用的模板,将其复制到插件文件中,然后将模板文件更改为您喜欢的任何内容。 You can find more information about it here.

您唯一需要做的就是将WordPress指向正确的方向:

add_filter("archive_template", "archive_template");
function archive_template($archive_template) {
    global $post;
    if ($post->post_type == "cars")
    {
        $archive_template = "path/to/your/template.php";
    }

    return $archive_template;
}

禁用存档并手动创建存档对我来说有点奇怪。而且我总是更换存档页面,有时还会替换我们主题的单页(通常是7)。