我正在使用filemtime()
为不同的.css 和.js 自定义WordPress主题中的文件。
我用了accepted answer described here 作为指南;但是,我使用wp_retister_style()
和wp_register_script()
注册my的函数.css 和.js 文件,并通过wp_enqueue_style()
和wp_enqueue_script()
. 例如,我正在注册sigle.css 按以下方式归档:
wp_register_style(\'xyz_single\', get_template_directory_uri() . \'/css/single.css\', false, filemtime(get_template_directory() . \'/css/single.css\'));
上述函数中的第四个参数将添加
?ver=nnnnnnnn 到样式表。最终输出如下
single.css?ver=nnnnnnnn, 哪里
nnnnnnnn 是一个数字,表示修改后的文件的时间戳,以便在修改主题时确保重新加载,从而解决缓存问题。
现在,回答我的问题。
在我的自定义主题中,我使用rtl.css, 当wp_head()
被调用。那么如何附加rtl.css 是否包含版本号?
更多信息,请参见header.php, 我正在加载style.css 具体如下:
<link href="<?php echo get_stylesheet_uri() . \'?ver=\' . filemtime(get_stylesheet_directory() . \'/style.css\'); ?>" rel="stylesheet" type="text/css" />
我正在使用加载所有其他样式表
wp_register_style()
如上所述,然后是
wp_enqueue_style()
. 以下是一个示例:
wp_register_style(\'xyz_single\', get_template_directory_uri() . \'/css/single.css\', false, filemtime(get_template_directory() . \'/css/single.css\'));
wp_enqueue_style(\'xyz-single\');
然而,
rtl.css 在我呼叫时自动加载
wp_head()
在里面
header.php. 请
read this great article 关于如何
wp_head()
负载
rtl.css; 因此,我的问题是,如何在
rtl.css 是否自动调用
最合适的回答,由SO网友:cybmeta 整理而成
您正在加载rtl.css 使用WordPress自动方式,即rtl.css 如果WordPress显示当前语言ir rtl的方向,则会自动加载主题文件夹(您应该将此信息添加到问题中,很难确定您是如何加载文件的)。此过程定义locale_stylesheet_uri
可用于修改区域设置样式表URL,以便向其中添加版本参数:
add_filter( \'locale_stylesheet_uri\', function ($localized_stylesheet_uri) {
$time_ver = filemtime( get_stylesheet_directory() . \'/rtl.css\' );
return add_query_arg( array(\'ver\' => $time_ver), $localized_stylesheet_uri );
});
如果还需要处理依赖项,则必须加载
rlt.css 使用文件
wp_enqueue_style
就像其他css文件一样。无法使用“自动”方式处理依赖关系。