为静态资源,添加版本号 (function.php)
// ========== 为静态资源添加版本号(全自动,无需手动修改)==========
function zib_sub_core_add_version_to_assets() {
// 自动获取主题样式文件的最后修改时间作为版本号
// 每次你修改 CSS 文件,版本号会自动变化
$style_css_path = get_template_directory() . '/style.css';
if (file_exists($style_css_path)) {
// 使用文件修改时间戳作为版本号(精确到秒)
$version = filemtime($style_css_path);
} else {
// 如果文件不存在,使用插件版本号作为后备
$version = '1.3.4';
}
// 尝试注销主题可能注册的样式表句柄
$style_handles = array(
'zib-main-style',
'zib-style',
'zibll-style',
'main-style',
'theme-style',
'zib-core',
'zib-block'
);
foreach ($style_handles as $handle) {
if (wp_style_is($handle, 'registered')) {
wp_deregister_style($handle);
}
}
// 重新注册主样式表,版本号自动使用文件修改时间
wp_enqueue_style('zib-main-style-versioned', get_template_directory_uri() . '/style.css', array(), $version);
// 为子比主题的额外CSS文件也加上自动版本号
$extra_css_files = array(
'zib-core-versioned' => '/css/core.css',
'zib-block-versioned' => '/css/block.css',
'zib-app-versioned' => '/css/app.css',
'zib-main-versioned' => '/css/main.css'
);
foreach ($extra_css_files as $handle => $file_path) {
$full_path = get_template_directory() . $file_path;
if (file_exists($full_path)) {
// 每个文件使用自己的修改时间作为版本号
$file_version = filemtime($full_path);
wp_enqueue_style($handle, get_template_directory_uri() . $file_path, array(), $file_version);
}
}
}
add_action('wp_enqueue_scripts', 'zib_sub_core_add_version_to_assets', 999);
/**
* 输出版本号meta标签(用于调试)
*/
function zib_sub_core_version_meta() {
$style_css_path = get_template_directory() . '/style.css';
if (file_exists($style_css_path)) {
$version = filemtime($style_css_path);
} else {
$version = '1.3.4';
}
echo '<meta name="zib-sub-core-version" content="' . esc_attr($version) . '">' . "\n";
}
add_action('wp_head', 'zib_sub_core_version_meta', 1);
加盐 (wp-config.php)
define('WP_CACHE_KEY_SALT', '这个站唯一的字符串');
define('WP_CACHE', true);
宝塔后台 高级设置