【问题标题】:Wordpress template assignment not working as expectedWordpress 模板分配未按预期工作
【发布时间】:2018-07-06 11:59:36
【问题描述】:

虽然冒着复制另一个帖子的风险,但我认为这可能是独一无二的,因为我读过的其他类似帖子没有给我一个适合我的答案。我花了几个小时浏览其他帖子中的答案,但无济于事。我觉得我所做的应该是有效的,但由于某种原因不是。

我是 Wordpress 的新手(但不是一般的开发人员),并且已经设置了自定义主题和页面模板(称为 index-gallery.php 基于 index.php 并稍作修改以拉出我的自定义图库帖子)。我已经使用页面编辑屏幕右侧的页面模板下拉菜单分配了该模板(使用在列表中显示的模板名称“画廊页面”)。因此,您希望它覆盖标准层次结构设置。但是它没有被应用,我看到正在使用 index.php 模板。但是,如果我将“画廊”页面的父页面更改为主页,它会突然使用“index-gallery.php”模板,并且该模板的工作方式完全符合我的预期。所以我知道这不是模板本身的问题,因为它适用于那种情况。我正在使用“文件内容”插件来查看正在使用的模板。我已经尝试在页面编辑中重新分配 slug 并重新设置永久链接等,但这并没有解决它。

有没有人知道当模板分配不以主页为父时,可能会遇到什么阻碍?我真的不希望它以这种方式作为父母。

这一切都是在我使用 Wordpress 4.9.7 在 xampp 上运行的本地主机上设置的

【问题讨论】:

    标签: wordpress templates wordpress-theming


    【解决方案1】:

    您应该将模板文件重命名为其他名称(不以标准 WP 模板文件名之一开头) - 例如 template-gallery.php

    哦,您可能会发现在 page.php 文件上建立页面模板会更好。

    【讨论】:

    • 我最初确实将它称为 page-gallery.php,因为我遵循了一个告诉我这样做的教程。那是在我开始解决问题并开始基于 index.php 页面的整个事情之前。然后我把它命名为template-gallery.php。所以已经在那里了,这根本没有区别。我确实认为这是我做过的事情,作为 WordPress 的菜鸟,但不能完全弄清楚它是什么。我确实发现 WordPress 执行自动模板定位的方式有点奇怪 - 更喜欢更具体的工作方式。
    • 好的,所以父页面和非父页面之间的区别似乎是生成的 slug。当我为画廊页面设置父项时,我看到的 slug 是“@​​987654321@”,而当我不设置它时,我只会得到“localhost/wordpress/gallery”。我不太明白 custom-posts-page 位的来源以及它如何影响模板选择。
    • 抱歉,我知道这没有用,但我从来没有遇到过这样的问题。我所有站点中的页面总是使用它们分配的模板,无论它们在页面层次结构中有多深!也许是插件或主题冲突。尝试关闭所有插件,看看会发生什么。然后使用您的模板尝试标准 WP 主题之一的子主题。
    • 谢谢彼得。最终,我想我可能在我的涉猎中弄坏了一些东西!它的行为显然不像文档所建议的那样。我可能不得不从头开始我的主题 - 我尝试关闭所有插件无济于事。反正没有多少,因为这只是一个让我学习主题的测试网站,尽管我正在使用它来构建我们主网站的 IE7 友好(不要问!)版本。
    猜你喜欢
    • 1970-01-01
    • 2012-06-19
    • 1970-01-01
    • 1970-01-01
    • 2018-03-02
    • 1970-01-01
    • 2012-10-07
    • 1970-01-01
    • 2012-06-23
    相关资源
    最近更新 更多