私はこのテーマについて少し読んでいますが、読むほどに混乱が生じます。
誰かが簡単にwp_enqueue_scripts
、wp_register_scripts
、およびwp_print_scripts
の正確な違いを説明できますか?
たとえば、functions.phpに次のコードがあり、機能していますが、スタイルシートにwp_print_scripts
を使用できない理由がわかりませんが、wp_enqueue_scripts
を使用するとコードは機能しますjavascriptファイルの場合:
add_action('wp_print_scripts', 'add_my_js');
function add_my_js(){
if(!is_admin()){
wp_enqueue_script('default', get_bloginfo('stylesheet_directory').'/js/default.js', array('jquery'));
}
}
add_action('wp_enqueue_scripts', 'add_my_stylesheet');
function add_my_stylesheet() {
wp_register_style('default', get_bloginfo( 'stylesheet_url'));
wp_enqueue_style( 'default');
}
wp_print_scripts
は、スクリプトがテンプレートに出力されたときに実行されるアクションです。 wp_register_script
およびwp_enqueue_script
は、wp_print_scripts
の実行時に出力されるスクリプトを登録/エンキューするための関数です。
wp_print_scripts
の前に実行されるwp_print_styles
フックでスタイルがすでに出力されているので、wp_print_scripts
アクションフックでスタイルを登録またはエンキューすることはできません。
アクションリファレンス を参照して、リクエスト内で物事が実行される順序を確認してください。
22. wp_head
23. wp_enqueue_scripts
24. wp_print_styles
25. wp_print_scripts