私のテーマのfunctions.phpでは、jqueryが読み込まれる場所を制御するためにadd_actionを呼び出しています(テーマの他のスクリプトと共にフッターにあります)。
私が抱えている問題は、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')を使用する2番目のメソッドは、テーマにスクリプトの依存関係を書き込むプラグインが存在する状況では実行されないようです。