Когда показывается админ-панель, в head появляется следующий код:
<style type="text/css" media="screen">
html { margin-top: 32px !important; }
* html body { margin-top: 32px !important; }
@media screen and ( max-width: 782px ) {
html { margin-top: 46px !important; }
* html body { margin-top: 46px !important; }
}
</style>
html получается 100% высоты экрана + 32px, отсюда и прокрутка.
Я предпочитаю радикальное решение:
add_theme_support( 'admin-bar', array( 'callback' => '__return_false' ) );
Полностью убираем эти css из head, а отступ, если нужен, задаем с помощью padding у какого-нибудь из элементов (тот же header, например). Наличие админ-панели можно определить по классу admin-bar у body).