jQuery в head, а скрипт перед </body> не могут найти друг друга в wordpress

Есть wordpress c подключенной в области head библиотекой jQuery и jQuery Migrate:

<script type='text/javascript' src='http://localhost/site/wp-includes/js/jquery/jquery.js?ver=1.11.2'></script>
<script type='text/javascript' src='http://localhost/site/wp-includes/js/jquery/jquery-migrate.min.js?ver=1.2.1'></script>

а в конце перед закрывающим тегом подключен основной файл

<script type='text/javascript' src='http://localhost/site/wp-content/themes/theme-name/js/common.js?ver=20130115'></script>

Консоль выдает ошибку:
Uncaught TypeError: $ is not a function

Причем, если я еще раз подключаю джейквери внизу перед файлом common.js все отлично работает.

Подскажите как совладать?

Когда в консоли вываливается ошибка, убедись в NET панели, что файл jQuery действительно загрузился. Плюс, может WP как-то хитро пробует подгрузить скрипты асинхронно. Тогда возможна ситуация, что скрипт выполняется, но библиотеки еще нет.

Еще вариант: WP может пробовать конкатенировать файлы, тогда если в одной файле используется самовызывающаяся функция, после конкатенации с другим файлом скрипт перестанет работать.

// file1.js
var obj = {}

// file2.js
(function () {
	console.log()
}())

Решается с помощью расстановки точек с запятой в начале и конце файла:

// file1.js
;var obj = {};

// file2.js
;(function () {
	console.log()
}());

У меня он ничего не конкатенирует и jQuery загружается нормально, перед common.js, поместил вызов библиотеки вниз, но теперь отказывают плагины, вставляющие свой код в html-код страницы (

Давай попробую посмотреть на сервак через localtunnel