You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

开发WordPress主题:调用CSS用get_stylesheet_uri()还是get_template_directory_uri()?

搞懂get_stylesheet_uri()和get_template_directory_uri()的正确用法

嘿,这个问题问得特别到位,很多刚上手WordPress主题开发的朋友都会搞混这两个函数,我给你拆解清楚,再结合你的情况给出最佳方案~

先明确两个函数的核心区别

1. get_stylesheet_uri()

  • 这个函数的核心是指向当前激活主题的根目录下的style.css文件。
  • 划重点:如果以后你要基于这个主题做子主题,它会自动优先指向子主题的style.css,完美适配子主题的工作流,这是WordPress官方推荐的主样式表加载方式。
  • 适用场景:专门用来加载主题的主样式表(就是你放在根目录的那个style.css,记得这个文件开头要写主题头部注释,不然WordPress识别不了你的主题哦)。

2. get_template_directory_uri()

  • 这个函数指向的是父主题的根目录(如果是独立开发的主题,没有父主题,那就是当前主题的根目录)。
  • 不管有没有子主题,它只会返回父主题的资源路径,不会自动切换到子主题。
  • 适用场景:用来加载主题里的额外自定义资源,比如你自己创建的自定义CSS文件、JS脚本、图片素材等等。

结合你的情况的最佳实践

你现在是从零开发独立主题,目录里有主style.css和自定义CSS文件,那正确的调用方式应该是这样的:

在functions.php里用wp_enqueue_style()函数(这是WordPress推荐的资源加载方式,比直接写link标签规范得多)来分别加载:

function my_theme_enqueue_styles() {
    // 加载主样式表,用get_stylesheet_uri()是标准操作
    wp_enqueue_style( 'main-theme-style', get_stylesheet_uri() );
    
    // 加载自定义样式表,用get_template_directory_uri()拼接路径
    wp_enqueue_style( 'custom-theme-style', get_template_directory_uri() . '/你的自定义CSS文件名.css', array( 'main-theme-style' ), '1.0.0' );
}
// 挂载到wp_enqueue_scripts动作上,确保在前端正确加载
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );

小贴士:代码里的array( 'main-theme-style' )是设置依赖,让自定义样式表在主样式表之后加载,这样自定义样式的优先级才会更高,能正确覆盖主样式里的规则哦~

内容的提问来源于stack exchange,提问作者Craig

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 04:21:00