从get_template_directory_uri到get_theme_file_uri VS哪个更好,为什么?

时间:2018-12-16 06:42:13

标签: wordpress wordpress-theming

当我基本上为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");

所以我真的很困惑在代码中使用哪一个,为什么?

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()以获得更好的性能。