In der functions.php meines Themas rufe ich eine add_action auf, um ein gewisses Maß an Kontrolle darüber zu erlangen, wo jquery geladen wird (in der Fußzeile zusammen mit den anderen Skripten meines Themas).
Das Problem, das ich habe, ist, dass wenn ich add_action ('wp_enqueue_scripts') verwende, es nur dann ausgelöst wird, wenn keine Plugins geladen sind. Die Methode add_action ('init') funktioniert jedoch in allen Fällen.
Ich kann mich nicht erinnern warum, aber ich glaube, dass add_action ('wp_enqueue_scripts') in diesem Fall bevorzugt wird. Wenn das stimmt, wie kann ich es in allen Fällen zum Laufen bringen?
In functions.php
//if(!is_admin()){add_action('init', 'my_theme_init');} //THIS WORKS ALL THE TIME
//add_action('wp_enqueue_scripts', 'my_theme_init'); //THIS ONLY WORKS WHEN NO PLUGINS PRESENT
if(!is_admin())
{
require_once(TEMPLATEPATH . '/functions_public.php');
}
In functions_public.php
function my_theme_init()
{
/* PREVENT DUPLICATE COPIES OF JQUERY FROM PLUGINS
**************************************************/
wp_deregister_script('jquery');
/* LOAD THE LOCAL WORDPRESS COPY OF JQUERY AND THEME CUSTOM SCRIPTS IN THE FOOTER
***********************************************/
wp_register_script('jquery', get_bloginfo('template_directory').'/scripts.mythemescripts.js',false,false,true);
wp_enqueue_script('jquery');
}
Die zweite Methode, die add_action ('wp_enqueue_scripts') verwendet, wird anscheinend nicht unter Bedingungen ausgeführt, unter denen ein Plugin vorhanden ist, das Skriptabhängigkeiten zum Thema schreibt.