Muitos desenvolvedores de plug-ins não fazem as coisas da maneira certa. A maneira correta é ligar a wp_enqueue_scripts
como se você estivesse tentando fazer.
No entanto, aqui está a ordem dos ganchos executados em uma solicitação típica:
- muplugins_loaded
- registered_taxonomy
- registered_post_type
- plugins_loaded
- sanitize_comment_cookies
- setup_theme
- load_textdomain
- after_setup_theme
- auth_cookie_malformed
- auth_cookie_valid
- set_current_user
- init
- widgets_init
- register_sidebar
- wp_register_sidebar_widget
- wp_default_scripts
- wp_default_stypes
- admin_bar_init
- add_admin_bar_menus
- wp_loaded
- parse_request
- send_headers
- parse_query
- pre_get_posts
- posts_selection
- wp
- template_redirect
- get_header
- wp_head
- wp_enqueue_scripts
- wp_print_styles
- wp_print_scripts
- ... muito mais
O problema é que vários desenvolvedores foram instruídos a usar init
para enfileirar seus scripts. Antes que tivéssemos um gancho wp_enqueue_script
, essa era a maneira "correta" de fazer as coisas, e os tutoriais que perpetuam a prática ainda estão circulando na Internet, corrompendo desenvolvedores bons.
Minha recomendação seria dividir sua função em duas partes. Faça seu wp_deregister_script
/ wp_register_script
no gancho init
e use o gancho wp_enqueue_scripts
quando você realmente enfileira o jQuery.
Isso o manterá no mundo de "fazer certo" para enfileirar seus scripts, e ajudará a proteger você das centenas de desenvolvedores que ainda estão "fazendo algo errado" ao trocar o jQuery pela sua versão concatenada antes de adicioná-lo para a fila.
Você também deseja adicionar seu gancho init
com uma prioridade alta:
add_action( 'init', 'swap_out_jquery', 1 );
function swap_out_jquery() {
// ...
}