我有一个名为城市的自定义帖子类型。对于此自定义帖子类型, 我将涉及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);
谢谢!
【WordPress中具有自定义帖子类型的单个页面的层次结构】更新
我想我误解了单页的概念。 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。
推荐阅读
- 推荐短代码也显示在我的网站上吗(如何避免这个问题)
- 函数get_option()不会从数据库中提取值
- 实时切换WordPress主题而不会丢失功能
- 通过编辑Avada子主题logo.php在WordPress网站上切换特定页面的logo
- #yyds干货盘点#--快速上手redis-sentinel(哨兵)
- #yyds干货盘点#linux命令--Hostname 显示主机名
- #yyds干货盘点#文件初始化脚本
- 性能分析之子锁存器(latch)到SQL
- docker如何迁移数据目录