0

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 に答える