当我基本上为wp_enqueue_scripts()为WordPress主题编码时, 我注意到了一件事情。我看到get_theme_file_uri()工作正常, 而且get_template_directory_uri()工作正常
wp_enqueue_style('fontawesome-css', get_theme_file_uri("/assets/css/font-awesome/css/font-awesome.min.css"), null, "1.0");
和
wp_enqueue_style( 'fontawesome-css', get_template_directory_uri() . '/assets/css/font-awesome/css/font-awesome.min.css', null, '1.0' );
所以我很困惑在代码中使用哪一个, 为什么?
#1
get_theme_file_uri()的函数定义应告诉你正确的答案。
function get_theme_file_uri( $file = '' ) {
$file = ltrim( $file, '/' );
if ( empty( $file ) ) {
$url = get_stylesheet_directory_uri();
} elseif ( file_exists( get_stylesheet_directory() . '/' . $file ) ) {
$url = get_stylesheet_directory_uri() . '/' . $file;
} else {
$url = get_template_directory_uri() . '/' . $file;
}
return apply_filters( 'theme_file_uri', $url, $file );
}
如你所见, 它首先检查子主题, 然后检查文件是否存在。如果你没有使用子主题, 并且确定文件存在, 则可以使用get_template_directory_uri()获得更好的性能。
评论前必须登录!
注册