由于Wordpress中Jupiter主题生成主题CSS文件的方式发生了变化,例如:https://www.nasta.no/wp-content/uploads/mk_assets/theme-options-production-1548757908.css?ver=1548757865(此文件控制页面宽度,徽标,菜单,页脚,字体等)。我们的网站将此css文件用作参考,并且每次在Wordpress中进行更改时该文件都会失效。
请注意,每次在Wordpress中更改css / theme相关选项时,文件名将如何包含unix时间戳。
因为我们的网站会抓取nasta.no的内容并每10分钟刷新一次,所以每当在Wordpress中进行更改时,我们的网站都会尝试引用一个旧的theme-options-production.css文件,该文件已被删除并替换为较新的版本。结果是我们的站点将始终最多滞后10分钟,并尝试提供不再存在的CSS文件。
在有人“清除主题缓存”或在“主题选项”中进行更改之前,该页面才能正常工作(我们/ Nasta将尝试避免这样做,直到找到解决方案为止)。
我可能的解决方法是缩短更改后浏览nasta.no的时间间隔,但是我不确定如何做到这一点。
您还有其他方法吗?
在nasta.no网站上-他们是如何解决的 同样徒劳的另一个问题是,更改主题选项时,WPEngine上的缓存无效。 使用Jupiter,在通过清除主题缓存或进行更改来更新主题选项时,将删除用于theme-options.css的旧CSS文件,并生成一个带有unix时间后缀的新CSS文件。 由于WPEngine具有其自己的专有缓存解决方案,因此在创建新CSS后不会进行缓存清除。
为了允许清除WPEngine的缓存,进行了以下更改:
function mk_clear_cache_plugins() {
if ( function_exists( 'w3tc_pgcache_flush' ) ) {
w3tc_pgcache_flush();
// echo 'W3 Total Cache: Page cache flushed';
} elseif ( function_exists( 'wp_cache_clear_cache' ) ) {
wp_cache_clear_cache();
// echo 'WP Super Cache: Page cache cleared.';
} elseif ( function_exists( 'rocket_clean_domain' ) ) {
rocket_clean_domain();
// echo 'WP Rocket: Domain cache purged.';
} elseif ( method_exists('WpeCommon', 'purge_varnish_cache') ) {
// WPEngine specific purge
WpeCommon::purge_varnish_cache();
} else {
}
// die;
}