以下解决方案假设您的插件正在使用wp_enqueue_script()
将脚本插入HTML代码。如果没有,它们就被设计破坏了,我们无法更改脚本标记。
此代码与中的代码类似this answer, 事实上,它几乎是一个复制品…
首先,列出两个您希望rocket loader脚本忽略或不忽略的所有脚本URI。然后填充$optimize
以及$ignore
以下脚本中包含这些URI的数组。
function rocket_loader_attributes( $url )
{
$optimize = array (
\'http://example.com/nr1.js\',
\'http://example.com/nr2.js\'
);
$ignore = array (
\'http://example.com/nr3.js\',
\'http://example.com/nr4.js\'
);
if ( in_array( $url, $optimize ) )
{ // this will be optimized
return "$url\' data-cfasync=\'true";
}
if ( in_array( $url, $ignore ) )
{ // this will be ignored
return "$url\' data-cfasync=\'false";
}
return $url;
}
add_filter( \'clean_url\', \'rocket_loader_attributes\', 11, 1 );
您可以使用此代码创建插件,或者–次佳选项–将其添加到主题的
functions.php
.