`Body_Class()`函数不一致

时间:2015-02-13 作者:Dre

以下是我的设想:

我正在使用body_class() 在我的<body> 按照Codex说明标记我已经创建了专门的页面模板(如所述here) 对于以下页面:

主页:page-home.phppage-services.phppage-about.phppage-contact.php

问题开始于返回的类body_class(): 对于前两页,它运行良好,返回.page-template-page-home-php.page-template-page-services-php 分别地对于其他两页,它只返回.page-template-default, 尽管它显然不使用默认页面模板

Does anyone know what might be causing this?

我知道几种强制它添加类的方法,所以我不想寻找解决方法。我只是想知道为什么这个功能似乎不能在开箱即用的情况下正常工作。

UPDATE:body_class() 功能我已经缩小了原因;这两个页面的页面模板似乎没有保存到post meta表中。下一个问题是,这可能是什么原因造成的。

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

来自@milo的评论促使我仔细观察,我意识到我在寻找一个假阳性。“关于”页面和“联系”页面实际上显示了正确的行为;家庭和服务是错误的。似乎在某种程度上,这两个页面确实有自定义的页面模板,这些模板后来变成了专门的页面模板。然而,他们的身体类别仍然存在。

重要的是:when a custom page template is removed/deleted and there are no other custom page templates to fallback to, the value is not cleared from the post meta, which means it will continue to show those body classes until a new template is assigned.

我将在今天晚些时候检查这是否作为问题记录在WP Trac上。

结束

相关推荐

在我的WordPress主题中包含JavaScript和CSS的正确方法

我正在尝试用正确的方法构建我自己的Wordpress主题。但是我发现的第一个问题是如何“使用正确的方式”添加css和js。我找到了一些如何做的教程。e、 x:http://code.tutsplus.com/tutorials/loading-css-into-wordpress-the-right-way--cms-20402 (这是“2014年6月30日”)这一个http://code.tutsplus.com/articles/how-to-include-javascript-and-css-in