对于脚本,可以使用script_loader_tag
过滤器,在输出脚本标记之前运行。它过滤HTML<script>
标记,但它还传递句柄和URL,您可以使用该句柄和URL提取内容,并使用内嵌脚本的版本替换脚本标记:
function wpse_292955_inline_script( $script, $handle, $src ) {
if ( $handle === \'script-handle\' ) {
$script = sprintf( \'<script type="text/javascript">%s</script>\', file_get_contents( $src ) );
}
return $script;
}
add_filter( \'script_loader_tag\', \'wpse_292955_inline_script\', 10, 3 );
还有
style_loader_tag
对于样式:
function wpse_292955_inline_style( $html, $handle, $href, $media ) {
if ( $handle === \'style-handle\' ) {
$html = sprintf(
\'<style type="text/css" media="%s">%s</style>\',
esc_attr( $media ),
file_get_contents( $href )
);
}
return $html;
}
add_filter( \'style_loader_tag\', \'wpse_292955_inline_style\', 10, 4 );
请注意,由于脚本和样式是使用URL注册的,因此您的服务器需要能够访问URL
file_get_contents()
工作,所以它可能在本地开发环境中不起作用。