WordPress管理栏将粘性页脚从页面底部推开

时间:2012-02-11 作者:Jake Wilson

我实施了Ryan Fait的哦太普通了sticky footer 在自定义Wordpress主题中。我现在注意到,如果我在我的页面中实现Wordpress管理栏,其高度为28px(至少在当前的Wordpress版本中…),它还将粘性页脚向下推28像素。

这里是管理栏:

enter image description here

无论如何,Wordpress的工作方式是,管理栏是否显示在页面顶部取决于管理用户如何设置他们的首选项。因此,我不想简单地将其从主题中删除。

很明显,我可以在ready事件触发后使用jQuery来查看管理栏是否存在,并相应地更改页脚,但如果可能的话,我宁愿尝试避免这种情况,只需要正确地生成页面就可以了。。。有什么想法吗?

此外,我希望该主题与Wordpress的近期版本配合使用。因此,如果在未来的版本中,他们决定将管理栏更改为28px以外的其他高度,那么我不希望我的代码必须进行调整以补偿更改。

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

页脚被推出,因为每当管理栏设置为显示时,WP都会为页面添加边距。负责此操作的函数称为_admin_bar_bump_cb() 位于wp includes/管理栏。php。坏消息是,它使用了一个harcoded 28px设置(意味着您将无法获取它并在函数中使用它),以及一个“!important”声明,您将无法始终覆盖该声明以避免将来的高度变化。

我想你最好的办法是检查管理栏是否显示并相应地调整页脚。这应该很简单,只需将其添加到functions.php:

add_action(\'wp_head\', \'adjust_sticky_footer\');
function adjust_sticky_footer() {
    if(is_admin_bar_showing()) { ?>
        <style type="text/css">
            .footer { /* Adjust selector according to your theme */
                bottom: 28px;
            }
        </style>
    <?php
    }
}
我想你的页脚已经position: relative 根据您提供的链接上的示例分配给它。

结束

相关推荐

Customizing wp-activate.php

有人知道我如何定制wp activate吗。php?它将内容包装在<div id=\"content\" class=\"widecolumn\">, 然而,在我的主题中,主包装是<div id=\"main\">大概我可以div#content.widecolumn 与相同div#main. 但我很好奇,是否有人知道如何在不编辑它的情况下自定义此文件。