自定义帖子类型的页面模板不适用于包含CPT名称的URL,其他URL的工作

时间:2015-05-11 作者:Flamenco

给你一个谜团。我创建了一个名为“公文包”的自定义帖子类型。然后,我想要一个页面模板来显示这些CPT。这是一个带有分页的自定义循环,如果我不将页面称为“公文包”(即永久链接),它将非常有效-如果我使用它,它将显示我的静态主页,而不是循环输出。非常奇怪,因为我使用的页面不是头版。

我的第一个想法是,可能通过使用与CPT名称匹配的永久链接,我遇到了一些标准的核心循环或其他东西。

或者我应该使用归档模板而不是页面模板?我在考虑页面模板,以便在第一页上有一些自定义输出,可能通过自定义字段。

我正在使用缓存,但我尝试清除缓存,甚至禁用它。同样的事情。

有什么想法吗?

我的永久链接结构是/%帖子名%/

谢谢

2 个回复
最合适的回答,由SO网友:JimboSlice 整理而成

我对CPT和漂亮的permalinks也有类似的神秘行为。通过切换到另一个结构并再次切换,尝试重新生成永久链接。

或者查看法典中的flush\\u rewrite\\u rules()。

https://codex.wordpress.org/Function_Reference/flush_rewrite_rules

SO网友:johncarter

我知道这种感觉。我经常在一个归档slug和一个静态页面之间进行这种斗争,这两个页面被称为同一个东西。i、 e.投资组合CPT存档和www.yoursite。具有可编辑内容的com/公文包页面。

我有two ways 要做到这一点,两人都相当刻薄(我讨厌):

创建存档{portfolio\\u cpt}。php存档模板,并包含一个静态页面模板位置作为该模板的全部内容。php文件:

包括(TEMPLATEPATH./your portfolio page template.php“);

然后将该页面模板应用到您的公文包页面-然后它将像普通页面模板一样工作。

您可以使用标准存档{portfolio\\u cpt}。php,但您可以使用自定义查询从公文包静态页面的post id获取字段和数据,而不是使用普通的模板函数,如\\u content()等。i、 e.希望能对您有所帮助。

结束

相关推荐