Come disabilitare manualmente jQuery.migrate
WordPress carica automaticamente jQuery.migrate:
Come posso disabilitarlo senza usare plugin? Non ho trovato codice in functions.php con enqueue
.
Viene caricato da /wp-includes
. Come posso disabilitarlo?

jQuery Migrate non è altro che una dipendenza dello script jQuery in WordPress, quindi è possibile semplicemente rimuovere tale dipendenza.
Il codice per farlo è piuttosto semplice:
function dequeue_jquery_migrate( $scripts ) {
if ( ! is_admin() && ! empty( $scripts->registered['jquery'] ) ) {
$scripts->registered['jquery']->deps = array_diff(
$scripts->registered['jquery']->deps,
[ 'jquery-migrate' ]
);
}
}
add_action( 'wp_default_scripts', 'dequeue_jquery_migrate' );
Questo impedirà il caricamento dello script jQuery Migrate sul front end mantenendo intatto lo script jQuery stesso. Continuerà a essere caricato nell'area di amministrazione per non interrompere nulla lì.
Nel caso in cui non si voglia inserire questo codice nel proprio plugin o tema, è possibile utilizzare un plugin come jQuery Light che fa questo al posto tuo.

WordPress supporta la "deregistrazione" di un plugin, utilizzando un processo simile a quello menzionato da @swissspidy, ma con meno codice.
In qualsiasi funzione tu stia caricando i tuoi plugin, aggiungi questa riga:
wp_deregister_script('jquery-migrate');
Questo presuppone che jQuery Migrate sia caricato con l'handle jquery-migrate
, che è il valore predefinito in WordPress.
Ecco un esempio della mia funzione Enqueue con l'azione WP:
function my_theme_enqueue_styles_and_scripts() {
wp_enqueue_style('my-theme-styles', 'dist/styles.css');
wp_deregister_script('jquery-migrate');
wp_enqueue_script('my-theme-scripts', 'dist/scripts.js');
}
add_action('wp_enqueue_scripts', 'my_theme_enqueue_styles_and_scripts', 99);

Presumo che funzioni correttamente, ma ti imbatterai nello scenario in cui WordPress sta scrivendo script nella pagina, arriva a jQuery e scopre che non può soddisfare tutte le sue dipendenze perché non sa cosa sia jquery-migrate, che è una dipendenza di jQuery. A prima vista, questo significa che non produrrà nemmeno jquery-core, che penso volessimo ancora mantenere. È questo che il codice più complesso di swissspidy stava risolvendo.
