【问题标题】:Show subcontent with fake pages in WordPress在 WordPress 中显示带有虚假页面的子内容
【发布时间】:2016-03-13 19:20:12
【问题描述】:

我正在开发一个由我之前的人制作的 WordPress 主题。该网站适用于乐队,如果您想查看乐队的发行版,则 URL 采用以下格式: www.domain.com/band/[乐队名]/releases/

我现在正在尝试制作一个小节,其中包含每个版本的详细信息。发布概述中的链接现在可以使用,当用户单击链接时,他们会访问 URL: www.domain.com/band/releases/[发布名称]

发布是使用“更多类型”创建的自定义帖子类型,子内容是使用假页面制作的。模板似乎是根据用户正在访问的 slug/页面加载的。这是“发布”页面:

if ($current == 'releases') {
        get_template_part( 'single', 'band-releases' );
    }

我也制作了一个用于显示单个版本的模板,但是如何根据它的 slug 获取模板,因为它是动态的(多个版本)?

【问题讨论】:

  • 不看设置就很难判断。发布是自定义帖子类型吗?还是一类帖子?你应该看看developer.wordpress.org/themes/basics/template-hierarchy 根据它们是什么,你应该只需要为你的模板命名一个特定的方式让 WP 知道使用它(例如,single-releases.php)。
  • @coopersita 这是一个自定义帖子类型。看了链接,但不能说我找到了我要找的东西。

标签: php wordpress url wordpress-theming custom-wordpress-pages


【解决方案1】:

如果是自定义帖子类型,则显示各个版本 (www.domain.com/releases/[name-of-release]) 的模板是 single.php。

模板 single.php 也将用于显示所有单独的帖子。如果您想要一个仅用于发布的模板,请创建一个名为 single-releases.php (https://developer.wordpress.org/themes/basics/template-hierarchy/#single-post) 的文件。

如果您正确命名您的模板,WP 将知道哪个模板与哪个内容匹配。

【讨论】:

  • 所以在我的示例中,/releases/[name-of-release] 将转到 single-releases.php?还是single.php?
  • 它会去single-releases.php,如果不存在,它会寻找single.php,如果不存在,它会去index.php(模板层次结构)。
  • 我错了。应该是/band/[bandname]/releases/[name-of-release]。还是一样?即使还有一个名为 single-band.php 的模板?如果我转到 /band/[bandname]/releases/,single-band-releases.php 会出现,但当我转到 /band/releases/[name-of-release] 时不会出现。
  • 您的设置似乎很复杂。我会简单地做一些测试。创建 single-releases.php,看看是否正在使用该模板,或者您可以尝试使用插件:en-ca.wordpress.org/plugins/reveal-template
  • 似乎/band/ 的所有子内容都使用single-band.php。在该文件中,您再次找到我在问题中编写的代码。自定义帖子类型“发布”的所有子内容均使用虚假页面制作。
猜你喜欢
  • 2012-08-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-24
  • 1970-01-01
  • 1970-01-01
  • 2015-03-16
相关资源
最近更新 更多