您的问题中有一些令人困惑的信息,一些重要信息缺失
您是否按照代码中的建议设置了静态首页
您需要在首页或主页上实现这一点吗
你为什么不使用头版。若您已经设置了静态首页,那个么包含的php模板实际上正是您所需要的。主边栏从该模板中删除,除两个首页边栏外,其工作方式与全宽页面模板完全相同,但这些边栏不应干扰您需要实现的内容编辑要创建静态首页,请阅读本文以了解更多信息:Creating a Static Front Page
如果您需要在主页上显示此信息,或者需要更改页面。php,这将是一项非常令人不快和沮丧的工作。我可以帮你一些提示和小代码,但不是完整的代码,这是一个相当代码密集的修改
看看functions.php, lines 407 to 455. 二十一使用自定义主体类添加full-width
车身等级达到全宽。php模板,最重要的是no 活动侧栏
if ( ! is_active_sidebar( \'sidebar-1\' ) || is_page_template( \'page-templates/full-width.php\' ) )
$classes[] = \'full-width\';
让我们使用索引。以php为例。如果将小部件添加到主侧栏(
sidebar-1
), 它将出现在网站的所有页面上。由于侧栏附带了一个小部件,侧栏的状态将是活动的。
The following happens:
What this means
<即使您删除了对侧栏的调用或有条件地调用侧栏,它也只会删除侧栏内容,但仍会保留空白,如您的问题所示。即使特定页面没有调用侧栏,侧栏仍然具有活动状态,这是因为它附加了小部件
THE LET DOWN - FLAW
这个
twentytwelve_body_class
函数是不可插入的,所以不能简单地用子主题覆盖它。也没有提供过滤器,因此可以过滤和修改body类的行为。
SOLVING THE PROBLEM
请注意:所有这些更改MUST 在子主题中完成,切勿更改原始主题。我以主页(index.php)为例,根据需要进行更改METHOD 1
可能不是最好的解决方案。从索引中删除对侧栏的调用。php(如果您还没有这样做,只需将th index.php复制到您的子主题并删除侧栏调用)。现在,取消设置原始
full-width
类并注册一个新类,然后调用它
new-full-width
. 这样就可以了(
注意:这需要进入您的子teme函数。php)function wpse_alter_body_classes($classes) {
foreach($classes as $key => $value) {
if ($value == \'full-width\') {
unset($classes[$key]);
}
}
if ( ! is_active_sidebar( \'sidebar-1\' ) || is_home() || is_page_template( \'page-templates/full-width.php\' ) ) {
$classes[] = \'new-full-width\';
}
return $classes;
}
add_filter(\'body_class\', \'wpse_alter_body_classes\', 20, 2);
现在需要查找full-width
以十二种风格。css,将它们复制到您的子主题,并将它们全部更改为new-full-width
METHOD 2
比方法1更好的选择。只需为主页注册一个新的特殊body类(比如home类)。(注意:这需要进入您的子teme函数。php)function wpse_alter_body_classes($classes) {
if ( is_home() ) {
$classes[] = \'home-class\';
}
return $classes;
}
add_filter(\'body_class\', \'wpse_alter_body_classes\', 20, 2);
再次复制的所有实例full-width
从样式。你的孩子主题的十二岁css。重命名的所有实例full-width
到home-class
METHOD 3
如果你真的很有冒险精神,那么就选择“二十一二”主题,将其重命名,并使用自己的自定义设置创建自己的新独立主题METHOD 4
这是迄今为止最简单的。重新考虑并重新规划整个设置,以符合主题的限制。TO CLOSE THE ANSWER
记住图像及其添加和显示方式非常重要。您可能还需要查看has-post-thumbnail
类,该类在首页时定义。使用php模板。请记住,始终使用全尺寸上传图像,不要使用其他三种标准尺寸