wp_enqueue_script() — Carregar scripts com dependências
Causa
Adicionar scripts diretamente via no PHP ignora o sistema de dependências do WordPress e pode causar conflitos com outros plugins.
Como resolver
Sempre use wp_enqueue_script() dentro do hook wp_enqueue_scripts (frontend) ou admin_enqueue_scripts (admin). Use wp_localize_script() para passar dados PHP ao JS.
PHP
<?php
add_action('wp_enqueue_scripts', function () {
// Registra e enfileira o script
wp_enqueue_script(
'meu-script',
plugin_dir_url(__FILE__) . 'assets/js/meu-script.js',
['jquery'], // dependências
filemtime(plugin_dir_path(__FILE__) . 'assets/js/meu-script.js'),
true // no footer
);
// Passa dados PHP para o JavaScript
wp_localize_script('meu-script', 'MeuPlugin', [
'ajax_url' => admin_url('admin-ajax.php'),
'nonce' => wp_create_nonce('meu_plugin_nonce'),
'debug' => WP_DEBUG,
]);
});