WordPress jQuery Migrate是什么,如何禁用?

一般WordPress主题会默认加载jQuery Migrate(jquery-migrate.min.js)这个文件,是通过wp_enqueue_script()函数加载的。

了解jQuery Migrate

jQuery Migrate是一个JavaScript库,它可以实现1.9版本以下的jQuery代码兼容,WordPress 3.6开始就默认包含在了网站加载资源里面。

绝大多数新版本的插件或者主题代码都不需要jquery-migrate.min.js,所以如果你确保你网站没有那些年龄很久并且需要这个js文件的话,就可以禁用它以避免在网站前台加载。

如何禁止加载jquery-migrate.min.js

WordPress主题文件functions.php中或者使用Code Snippets插件添加自定义代码:

// Disable jQuery Migrate.
function ctrl_d_jquery_migrate( $scripts ) {
  if ( ! is_admin() && isset( $scripts->registered['jquery'] ) ) {
    $script = $scripts->registered['jquery'];
    if ( $script->deps ) {
      $script->deps = array_diff( $script->deps, array( 'jquery-migrate' ) );
    }
  }
}
add_action( 'wp_default_scripts', 'ctrl_d_jquery_migrate' );

WordPress如何正确引入jQuery

一般cdn引入是:

wp_deregister_script( 'jquery' );
wp_register_script( 'jquery', 'https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.min.js', false, '3.6.0', true );
wp_enqueue_script( 'jquery' );

但是cdn经常会出问题,比较慢,引入WordPress内置的jQuery:

wp_enqueue_script( 'jquery' );

引入内置的jQuery后,不要忘记通过上面的Disable jQuery Migrate方法来禁止掉jQuery Migrate.

使用内置jQuery后,js文件应该怎么写

在自己写的js文件追加包裹:

jQuery(function ($) {
  // 你的js代码
});

发表回复

您的电子邮箱地址不会被公开。