私はいくつかのスクリプトとスタイルを特定の分類法ページに追加しようとしています。たとえば、「issue」カスタム分類法に該当する投稿にのみバナーローテータを表示するようにします。スクリプトとスタイルをいつエンキューするかを制御するためにis_tax( 'issue')を使用してみましたが、うまくいかないようです。これが私のfunctions.phpファイルのサンプルです:
function init_customizations() {
if (is_tax('issue')) {
wp_register_script('rotator_scripts',get_bloginfo('template_directory').'/includes/issue-rotator.js', array(), '1.0.0' );
wp_enqueue_script('rotator_scripts');
wp_register_style('rotator_styles',get_bloginfo('template_directory').'/includes/issue-rotator.css', array(), '1.0.0', 'screen');
wp_enqueue_style('rotator_styles');
}
}
add_action( 'init', 'init_customizations', 0 );
これは実際には何もヘッダに書きませんので、間違って呼び出しているのではないかと思います。
更新これは正しい答えが適用された最後のコードです。
function init_customizations() {
if (is_tax('issue')) {
wp_register_script('rotator_scripts',get_bloginfo('template_directory').'/includes/issue-rotator.js', array(), '1.0.0' );
wp_enqueue_script('rotator_scripts');
wp_register_style('rotator_styles',get_bloginfo('template_directory').'/includes/issue-rotator.css', array(), '1.0.0', 'screen');
wp_enqueue_style('rotator_styles');
}
}
add_action( 'wp_enqueue_scripts', 'init_customizations', 0 );
スクリプトをエンキューする関数の場合、実際に使用するアクションフックは、サイトの前面には "wp_enqueue_scripts"、管理側には "admin_enqueue_scripts"になります。これがスクリプトをエンキューするための適切な時期です。
Wp_headの前であればいつでも技術的に行うことができますが、これが最善の場所です。スクリプト出力が行われる前にできることがすべて確実に行われ、ロジックがすべて正しく機能するようにするためです。