在页面的head
部分我们有时候会引用一些外部文件,比如jquery,比如主题的 style.css
文件。利用标题中两个命令引入的资源会进入队列,然后按用户设置被包含在head
部分或者页面的页脚位置。顾名思义,style后缀的引入css文件,而script后缀的引入js文件。
按个人的理解(这满满的求生欲啊),一方面这种方式易于统一管理资源,另一方面,尤其对于自定义的js与css文件,wp会自动为其加上版本号,这样在文件内容有升级并修改了版本号之后,能够确保修改内容能够及时被展现在页面上。可能您有也过类似的经历,在修改某个css文件或js文件的时候,修改的内容并不总是被浏览器及时展示,因为浏览器里已经有了该文件的缓存,而wp的这种机制能够很好的避免这类问题。
wp_enqueue_style
语法
wp_enqueue_style( string $handle, string $src = '', string[] $deps = array(), string|bool|null $ver = false, string $media = 'all' );
参数
$handle
(string) (必填) 样式表的名称,应该是唯一的。
$src
(string) (可选) 样式表的完整URL,或样式表相对于WordPress根目录的路径。
默认值: ''
$deps
(string[]) (可选) 注册处理此样式表所依赖的样式表数组。
默认值: array()
$ver
(string|bool|null) (可选) 指定样式表版本号(如果有)的字符串,该版本号作为查询字符串添加到URL中,用于破坏缓存。如果版本设置为false,则会自动添加与当前安装的WordPress版本相同的版本号。如果设置为null,则不添加任何版本。
默认值: false
$media
(string) (可选) 定义此样式表的媒体。接受“all”、“print”和“screen”等媒体类型,或“(orientation: portrait)”和“(max-width: 640px)”等媒体查询。
默认值: 'all'
wp_enqueue_script
语法
wp_enqueue_script( string $handle, string $src = '', string[] $deps = array(), string|bool|null $ver = false, bool $in_footer = false )
参数
$handle
(string) (必填) 脚本的名称(句柄),应是唯一的。
$src
(string) (可选) 脚本的完整URL,或脚本相对于WordPress根目录的路径。
默认值: ''
$deps
(string[]) (可选) 这个脚本所依赖的已注册脚本句柄的数组。
默认值: array()
$ver
(string|bool|null) (可选) 字符串,用于指定脚本版本号(如果有),该版本号作为查询字符串添加到URL中,用于破坏缓存。如果版本设置为false,则会自动添加与当前安装的WordPress版本相同的版本号。如果设置为null,则不添加任何版本。
默认值: false
$in_footer
(bool) (可选) 是否将脚本排队到</body>之前而不是<head>中。默认值为“false”。
默认值: false
登记在册
在部分主题里,除了入队函数外,我们也会看到注册函数,比如:
wp_register_style()
wp_register_script()
当一个js文件以某个名字比如'jquery'登记在册之后,后续的入队流程可以仅仅通过这个注册名信息,简化了入队的手续,如同我们访问互联网的站点一样,每个网站都去注册个账户显然不太现实,但一个天天需要访问的站点,不登陆它天天弹窗提示你注册你也不好受。所以是先注册后入队,还是直接入队,归根结底,怎么方便怎么来吧。