我使用W3 Total Cache、Cloudflare(以及用于媒体文件的CloudFront)。我使用子主题专门为我的站点进行自定义,同时使用父主题维护核心主题。
每当我更新父主题时,当子主题是活动主题时,不会反映更改。
但是,如果我重新上传或更新子主题的样式。css,它确实反映了新的变化。我猜是缓存。
我该怎么做,这样当更新与父主题一起进行时,我就不必担心子主题(而我继续将子主题作为活动主题)?
我使用W3 Total Cache、Cloudflare(以及用于媒体文件的CloudFront)。我使用子主题专门为我的站点进行自定义,同时使用父主题维护核心主题。
每当我更新父主题时,当子主题是活动主题时,不会反映更改。
但是,如果我重新上传或更新子主题的样式。css,它确实反映了新的变化。我猜是缓存。
我该怎么做,这样当更新与父主题一起进行时,我就不必担心子主题(而我继续将子主题作为活动主题)?
您可以使用文件修改时间(filemtime
) 触发重新加载(和重新缓存)文件。
这是我通常将样式(和脚本)排入队列的方式:
$file = \'/css/some-styles.css\';
wp_enqueue_style(
\'some-styles\',
get_stylesheet_directory_uri().$file,
array(\'some-dependency\'),
filemtime(get_stylesheet_directory().$file)
);
这会导致如下结果:<link rel=\'stylesheet\' id=\'some-styles-css\'
href=\'.../css/some-styles.css?ver=1388657898\' type=\'text/css\' media=\'all\' />
但是,您必须对父主题和子主题都这样做。阅读插件常见问题解答:http://wordpress.org/extend/plugins/wp-super-cache/installation/启用插件后,查找文件“wp-content/cache/.htaccess”。如果不存在,则必须创建它。其内容应为:# BEGIN supercache <IfModule mod_mime.c> <FilesMatch \"\\.html\\.gz$\"> ForceType text/html FileETag None <