Nur kurz: wp_head() ist ein "Action Hook" aus dem WordPress core, der in jedem Theme (in der header.php) vorhanden sein sollte. Das ist er nicht, daher musst Du die function my_script() händisch dort einfügen und nicht über den hook. Viele Plugins verlassen sich darauf, schau also Dein Theme durch ob Du die folgenden Action Hooks auch drinnen hast:
wp_head, wp_meta, comments_form und wp_footer (alle mit "();" hinten dran).
Beim <script>-teil sollte am Anfang
jQuery.noConflict();
stehen. Dann kannst Du "$" in Deinen Definitionen durch "jQuery" ersetzen. Dadurch kollidiert es nicht mit anderen Core-Bibliotheken wie Scriptacolus, die zB von einem Plugin integriert werden könnten.