自定义 post 类型:创建具有相同 slug 的页面模板
Custom post type: creating a page template with the same slug
我目前正在开发自定义 post 类型,并希望能够使用页面模板从 Wordpress 编辑存档页面。所以我创建了名为 'cars' 的 CPT,并创建了一个模板名称为 'Cars overview' 的页面模板。接下来我在 WordPress 中创建一个页面并选择模板页面 'Cars overview' 并给它 URL: mywebsite.com/cars/
现在的问题是 slug 'mywebsite.com/cars/' 已经被自定义 post 类型本身使用,导致页面加载自定义 post 类型循环而不是页面模板环形。所以我无法在 WordPress 中编辑标题、内容等。我可以更改页面的 url,但我希望能够控制 WordPress 中的概览页面。
长话短说:如何创建使用与自定义 post 类型存档页面相同的 URL 的页面模板?
提前致谢!
一个简单的解决方案,只需禁用您创建自定义 post 类型的存档:
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;
}
禁用存档并手动创建存档对我来说有点奇怪。我总是替换存档页面,有时替换我们主题中的单个页面(通常是 the7)。
我目前正在开发自定义 post 类型,并希望能够使用页面模板从 Wordpress 编辑存档页面。所以我创建了名为 'cars' 的 CPT,并创建了一个模板名称为 'Cars overview' 的页面模板。接下来我在 WordPress 中创建一个页面并选择模板页面 'Cars overview' 并给它 URL: mywebsite.com/cars/
现在的问题是 slug 'mywebsite.com/cars/' 已经被自定义 post 类型本身使用,导致页面加载自定义 post 类型循环而不是页面模板环形。所以我无法在 WordPress 中编辑标题、内容等。我可以更改页面的 url,但我希望能够控制 WordPress 中的概览页面。
长话短说:如何创建使用与自定义 post 类型存档页面相同的 URL 的页面模板?
提前致谢!
一个简单的解决方案,只需禁用您创建自定义 post 类型的存档:
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;
}
禁用存档并手动创建存档对我来说有点奇怪。我总是替换存档页面,有时替换我们主题中的单个页面(通常是 the7)。