我有一个名为城市的自定义帖子类型。对于此自定义帖子类型, 我将涉及N个城市。
我正在尝试为这些页面创建文件, 并且我认为这会起作用:
single.php-通用的
single-cities.php-列出城市
single-cities- {city-slug} .php-为城市带来信息
当我尝试:
/ cities-它显示的是single.php内容, 而不是列表中的单城市内容。
/ cities / sao-paulo-工作正常。它显示有关圣保罗的信息。
测试:
如果我删除single-cities- {city-slug} .php, 并尝试访问/ cities / sao-paulo, 它将带来single-cities.php
在此层次结构中, 我在做什么错?
我的代码注册自定义帖子类型:
$city_args = array(
'labels' => $labels, 'public' => true, 'has_archive' => true, 'publicly_queryable' => true, 'query_var' => true, 'capability_type' => 'post', 'hierarchical' => false, 'supports' => array(
'title'
), 'exclude_from_search' => false, 'menu_icon' => 'dashicons-building'
);
register_post_type('cities', $city_args);
谢谢!
更新
我想我误解了单页的概念。 single.php只是呈现单个帖子, 而不是列出自定义帖子类型的帖子。
阅读有关此层次结构的更多信息, 我试图了解我列出城市的结构以及随后带来的城市信息将如何适合我。
也许我应该为城市创建一个页面, 然后在此页面(page-cities.php)内创建代码以带出所有城市。
单击每个城市, 应该转到single.php, 是吗?
#1
你将希望archive-cities.php列出所有城市, 一个帖子中的单个城市。使用它作为参考:https://codex.wordpress.org/Post_Type_Templates
#2
列出你所有帖子的页面称为存档, 它位于register_post_type参数中声明的段中。
/ cities-这是你的存档页面, 因此它将调用archive-cities.php
/ cities / sao-paulo-这是一篇文章。它将首先寻找single-city- {city-slug} .php, 然后寻找single-cities.php。
在大多数情况下, 你只会使用single-city- {city-slug} .php来为特定城市创建唯一的模板文件。假设每个城市的帖子使用相同的布局, 则只需要single-cities.php。
评论前必须登录!
注册