0

由于在我的 Wordpress 网站上为登录用户显示的管理栏,哈希链接无法按我希望的那样工作,即它们可以正常工作,但哈希 div 的顶部被 Wordpress 管理员遮住了酒吧。所以我想知道是否有一种方法,对于登录的用户,所有哈希的位置可以偏移 28px,以便它们正确显示。

据推测,如果有一个脚本可以做到这一点,我需要将它添加到我的 functions.php 文件中并将其包装在:

if (is_user_logged_in()) :

[script here]

endif;
4

1 回答 1

1

您实际上会想在 JavaScript 中执行此操作。我假设您正在运行 jQuery。您可以使用以下代码。这将一直运行它:

jQuery(document).ready(function(){

    jQuery(window).bind("hashchange", function() {
        jQuery("html,body").scrollTop(jQuery(window).scrollTop() - 28);
    });

});​

如果您只希望它在登录时运行,您可以使用您建议的 PHP 从您的模板中回显,其内容类似于(未测试):

if (is_user_logged_in()) :

echo '<script>jQuery(document).ready(function(){

        jQuery(window).bind("hashchange", function() {
            jQuery("html,body").scrollTop(jQuery(window).scrollTop() - 28);
        });

      });​&lt;/script>';

endif;

工作示例:http: //jsfiddle.net/smUr4/

托马斯

于 2012-08-16T15:23:56.757 回答