実際には 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);
});
});</script>';
endif;
作業例: http://jsfiddle.net/smUr4/
トーマス