javascript - 推迟在functions.php中解析javascript文件 - wp_enqueue_script
问题描述
有谁知道如何推迟对functions.php中的javascript文件的解析?
这就是我的functions.php 中的内容。
谢谢!
add_action( 'wp_enqueue_scripts', 'my_enqueue_assets' );
function my_enqueue_assets() {
wp_enqueue_style( 'extra-style', get_stylesheet_directory_uri() . '/css/extra.css' );
wp_enqueue_script( 'my-script', get_template_directory_uri() . '/js/scripts.js' );
wp_enqueue_script( 'my-jquery', get_template_directory_uri() . '/js/jquery.js' );
wp_enqueue_style( 'slicktheme', get_stylesheet_directory_uri() . '/slick-theme.css' );
wp_enqueue_style( 'slickcss', get_stylesheet_directory_uri() . '/slick.css' );
wp_enqueue_script( 'slick-jquery-min', get_template_directory_uri() . '/js/slick.min.js' );
wp_enqueue_script( 'extra-js', get_template_directory_uri() . '/js/script.js' );
}
解决方案
在 function.php 文件中添加此代码 此代码将 defer 属性添加到您的 JavaScript 文件
function defer_parsing_of_js( $url ) {
if ( is_user_logged_in() ) return $url; //don't break WP Admin
if ( FALSE === strpos( $url, '.js' ) ) return $url;
if ( strpos( $url, 'jquery.js' ) ) return $url;
return str_replace( ' src', ' defer src', $url );
}
add_filter( 'script_loader_tag', 'defer_parsing_of_js', 10 );
推荐阅读
- c# - Entity Framework Core - 唯一约束
- perl - 如何在代码块中使 perl 正则表达式失败?
- javascript - 调用 jQuery 插件时未捕获的 TypeError
- sml - 在 SML 中将两个矩阵相乘
- c# - 具有多个子字符串的 C# 字符串搜索
- bash - 如何将 JVM 属性 line.separator 从 bash 设置为换行符
- codeigniter - Codeigniter Bootstrap Markdown 文本区域
- android - 如何在 Android Studio 中执行导航?
- ruby-on-rails - Rails 5 Api使用嵌套资源从json创建新对象
- nuget - csproj 参考本地 nuget 包文件夹