我使用以下代码添加版本?ver=xxx
基于css和js的文件上次修改日期。它工作得很好,但当我使用外部资产时,它会出错,因为get_theme_file_uri()
, 和get_theme_file_path()
再也不行了。
//fonts.googleapis.com/...
//cdnjs.cloudflare.com/...
有可能解决这个问题吗?也许没有?ver
或者使用WP默认版本控制系统ver=4.8
... 而不是远程资产。除此之外,如果可能的话,下面的代码可以稍微简化一下吗?
function _enqueue_scripts() {
function style($handle, $file, $deps=array(), $media=\'all\') {
$src = get_theme_file_uri($file);
$ver = md5(filemtime(get_theme_file_path($file)));
wp_enqueue_style($handle, $src, $deps, $ver, $media);
}
function script($handle, $file, $deps=array(), $in_footer=\'true\') {
$src = get_theme_file_uri($file);
$ver = md5(filemtime(get_theme_file_path($file)));
wp_enqueue_script($handle, $src, $deps, $ver, $in_footer);
}
style(\'_normalize\', \'/assets/css/normalize.css\');
style(\'_base\', \'/assets/css/base.css\');
style(\'_fonts\', \'//fonts.googleapis.com/css?family=Open+Sans:400,600\');
script(\'_lightbox2\', \'//cdnjs.cloudflare.com/ajax/libs/lightbox2/2.9.0/js/lightbox.min.js\', array(\'jquery\'));
script(\'_base\', \'/assets/js/base.js\', array(\'jquery\'));
if (is_singular() && comments_open() && get_option(\'thread_comments\')) {
wp_enqueue_script(\'comment-reply\');
}
}
add_action(\'wp_enqueue_scripts\', \'_enqueue_scripts\');