W function.php mojego motywu nazywam add działań, aby uzyskać kontrolę nad tym, gdzie ładowana jest jquery (w stopce wraz z innymi skryptami mojego motywu).
Problem, jaki mam, polega na tym, że kiedy używam add działań („wp_enqueue_scripts”), wydaje się, że jest uruchamiany tylko wtedy, gdy nie są załadowane żadne wtyczki. Jednak metoda add Działalności („init”) działa we wszystkich przypadkach.
Nie pamiętam, dlaczego, ale uważam, że w tym przypadku preferowane jest działanie dodatkowe („wp_enqueue_scripts”). Jeśli to prawda, jak mogę sprawić, by działał we wszystkich przypadkach?
W 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');
}
W 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');
}
Druga metoda, wykorzystująca add działań („wp_enqueue_scripts”) najwyraźniej nie jest wykonywana w warunkach, w których występuje wtyczka, która wypisuje zależności skryptu od motywu.