php - WordPress延迟脚本插件不加载网站
问题描述
我想加快我的 wordpress 网站的加载速度。我编写了一个简单的插件,它将 defer 属性添加到我安装的自定义主题使用的一些脚本中。我面临的问题是该站点被锁定到预加载器屏幕,并且 chrome 开发控制台中没有错误,也没有显示 xdebug 错误。我不知道,也许我做错了什么属性?所有脚本都是主题的依赖项,并且使用不属于列表的 jQuery。任何帮助将不胜感激。
class WP_scriptDefer {
private $scripts = [
'bootstrap.min.js',
'lazyload.min.js',
'viewportchecker.min.js',
'universal-parallax.min.js',
];
public function __construct()
{
$this->init();
}
public function init()
{
add_filter( 'script_loader_tag', [$this, 'deferScripts'], 10 );
}
public function deferScripts()
{
foreach( $this->scripts as $script ){
if( true == strpos($tag, $script) ){
return str_replace('src', 'defer="defer" src', $tag);
}
}
}
}
new WP_scriptDefer;
解决方案
我编辑你的课程,请检查:
class WP_scriptDefer
{
private $scripts = [
'bootstrap.min.js',
'lazyload.min.js',
'viewportchecker.min.js',
'universal-parallax.min.js',
];
public function __construct()
{
$this->init();
}
public function init()
{
add_filter('script_loader_tag', [ $this, 'deferScripts'], 10, 3);
}
public function deferScripts( $tag, $handle, $src )
{
foreach( $this->scripts as $script ){
if( true === strpos($tag, $script) ){
return str_replace('src', 'defer="defer" src', $tag);
}
}
return $tag;
}
}
new WP_scriptDefer;
推荐阅读
- python - virtualenv 从源代码使用库
- java - 手机状态改变时如何发送http请求?
- projection - 是否有一个 javascript 库来重新投影 geojson,以便 mapbox gl 将其呈现为“Plate-Carrée”?
- java - 更新 SQL 数据库列
- unity3d - 在运行时添加状态
- javascript - graphql 查询到 json 查询
- html - 将颜色主题更改为 HTML markdown
- file - 将数据附加到文件并确保它不会损坏
- javascript - 我正在尝试将 JS 数据传递到服务器端 python 的简单的 hello world
- javascript - 在javascript中将对象存储在数组中