I am in the process of registering and enqueuing my JavaScript files properly within WordPress, however jQuery needs some love for this to work properly.
Basically, I have a scripts.js file that I use to add JavaScript enhancements in my themes. This usually includes a document.ready() function:
$(document).ready(function() {
...
});
If my scripts.js only included this, then I could pass a reference to jQuery as the $ function into your document.ready() method:
jQuery(document).ready(function($) {
...
});
Sometimes in my scripts.js, there are other functions outside of document.ready() that are referenced from within it:
$(document).ready(function() {
example();
});
$(window).resize(function() {
example();
});
function example() {
...
}
However, for those instances that have stand-alone functions, this was not working in No Conflict mode. To fix this, I had to wrap the entire contents of the file within a self-invoking function:
(function($) {
$(document).ready(function() {
example();
});
$(window).resize(function() {
example();
});
function example() {
...
}
})(jQuery);
This solution allows me to retain my current scripts (without having to rewrite the $ to jQuery) and still enqueue the scripts the way that makes WordPress happy.
This is more for my own reference, but someone else may run across this simple but annoying problem.