【问题标题】:The hierarchy of single pages with custom post types in WordPressWordPress中具有自定义帖子类型的单个页面的层次结构
【发布时间】:2018-06-05 20:03:58
【问题描述】:

我有一个名为城市的自定义帖子类型。 对于这种自定义帖子类型,我将有 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,是这样吗??

【问题讨论】:

  • 将此代码添加到其他主题并尝试。

标签: php wordpress wordpress-theming custom-post-type


【解决方案1】:

您会希望archive-cities.php 列出所有城市,一篇文章的单个城市。以此作为参考:https://codex.wordpress.org/Post_Type_Templates

【讨论】:

    【解决方案2】:

    列出所有帖子的页面称为存档,它位于 register_post_type 参数中声明的 slug 中。

    /cities - 这是您的存档页面,因此它将调用 archive-cities.php

    /cities/sao-paulo - 这是一篇文章。它将首先查找 single-cities-{city-slug}.php,然后查找 single-cities.php

    在大多数情况下,您只会使用 single-cities-{city-slug}.php 为特定城市制作独特的模板文件。假设每个城市帖子使用相同的布局,您只需要 single-cities.php

    【讨论】:

      猜你喜欢
      • 2017-08-23
      • 1970-01-01
      • 2021-05-08
      • 2019-05-03
      • 2023-03-19
      • 2011-03-17
      • 1970-01-01
      • 1970-01-01
      • 2021-06-17
      相关资源
      最近更新 更多