В файле functions.php моей темы я вызываю add_action, чтобы получить меру контроля над тем, куда загружается jquery (в нижнем колонтитуле вместе с другими скриптами моей темы).
Проблема, с которой я столкнулся, заключается в том, что когда я использую add_action ('wp_enqueue_scripts'), он запускается, только если плагины не загружены. Однако метод add_action ('init') работает во всех случаях.
Я не могу вспомнить почему, но я считаю, что add_action ('wp_enqueue_scripts') предпочтительнее в этом случае. Если это правда, как я могу заставить его работать во всех случаях?
В 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');
}
В 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');
}
Второй метод, использующий add_action ('wp_enqueue_scripts'), по-видимому, не выполняется в условиях, когда присутствует плагин, который записывает зависимости скрипта в тему.