Put All jquery event attachments inside $(document).ready function.

Согласно документации jquery (см.напр. http://jquery-docs.ru/events/ready/ , http://api.jquery.com/ready/) все действия с докментом (в том числе - навешивание событий на элементы DOM) должны производиться после полной загрузки докмента.
И лучшее место для этого - фукнция $(document).ready()
Я просто перенес все навешивания событий внутрь этой функции.
А то я раньше недоумевал, почему все скрипты в документе лежат в футере, а не в заголовке, как обычно.
Попробовал перенести в заголовок - все отъехало. 
А проблема была именно в неправильном месте навешивания событий.
Теперь все работает нормально, и подключение скриптов можно перенести из footer.php на их законное место в <head> секцию.