我目前正在使用这段代码,它工作得很好。
function add_data_attribute($tag, $handle) {
if ( \'chargebee\' !== $handle )
return $tag;
return str_replace( \' src\', \' data-cb-site="mydomain" src\', $tag );
}
add_filter(\'script_loader_tag\', \'add_data_attribute\', 10, 2);
但是,我需要将此代码与另一个标记相结合:
function google_maps_script_attributes( $tag, $handle) {
if ( \'google-maps\' !== $handle ) {
return $tag;
}
return str_replace( \' src\', \' async="async" defer src\', $tag );
}
add_filter(\'script_loader_tag\', \'google_maps_script_attributes\', 10, 2);
我应该将两个单独的函数称为最佳实践,还是以某种方式将这两个函数组合在一起更快更好?
最合适的回答,由SO网友:Hans 整理而成
我认为您可以甚至应该组合过滤器以保留代码DRY.
add_filter(\'script_loader_tag\', function( $tag, $handle ) {
if ( \'chargebee\' == $handle ) :
return str_replace( \' src\', \' data-cb-site="mydomain" src\', $tag );
elseif( \'google-maps\' == $handle ) :
return str_replace( \' src\', \' async="async" defer src\', $tag );
endif;
return $tag;
}, 10, 2);