WordPress-GeneratePress主题-缓存崩溃
我正在维护一个使用GeneratePress主题的WordPress站点。为了扩展,使用了一个子主题解决方案。这已经是一个非常成熟的儿童主题(这么说是为了避免戏剧性的解决方案)。
有一段时间我每次更新css时都遇到css缓存问题。style.css子样式表提供缓存版本,而不是修改后的版本。
我认为GeneratePress主题正在加载父样式.css+子样式.css(如果存在)。
generatepress/functions.php
// Enqueue our CSS.
wp_enqueue_style( 'generate-style-grid', get_template_directory_uri() . "/css/unsemantic-grid{$suffix}.css", false, GENERATE_VERSION, 'all' );
wp_enqueue_style( 'generate-style', get_template_directory_uri() . '/style.css', array( 'generate-style-grid' ), GENERATE_VERSION, 'all' );
wp_enqueue_style( 'generate-mobile-style', get_template_directory_uri() . "/css/mobile{$suffix}.css", array( 'generate-style' ), GENERATE_VERSION, 'all' );
wp_add_inline_style( 'generate-style', generate_base_css() );
// Add the child theme CSS if child theme is active.
if ( is_child_theme() )
wp_enqueue_style( 'generate-child', get_stylesheet_uri(), true, filemtime( get_stylesheet_directory() . '/style.css' ), 'all' );
正在阅读这段代码...似乎如果检测子主题,它应该已经进行了缓存破坏,但是...对我来说,情况并非如此。我无法获得将文件时间结果作为版本参数的URL。
我的子主题函数.php没有将任何‘style le.css’入队。尽管如此,它还是被加载到父style.css之后。
尝试%1 我已经阅读了GeneratePresshttps://docs.generatepress.com/article/adding-css/中关于添加CSS的部分。
我看不到如何缓存bust子style.css文件。
尝试2 我解决此问题的第一次尝试是基于在触发wp_enQueue_脚本时将样式表入队。
function theme_css(){
wp_enqueue_style( 'my-theme-style', get_stylesheet_directory_uri().'/style.css', 'generate-style', '1.1', 'all');
}
add_action( 'wp_enqueue_scripts', 'theme_css' );
我之所以提到Generate-Style,是因为在我看来,它是要依赖的父级默认样式(子Style.css将在父Style.css之后加载)。您可以在前面的代码片段中看到这一点。它对我不起作用。子主题将先加载父主题样式表,然后再加载父主题样式表。这很不幸,会破坏css。顺序应该相反(父样式.css优先,子样式.css之后)。如前所述,依赖生成样式无济于事。
尝试3 使用另一个文件名创建样式表。GeneratePress会发出警告,因为如果检测到CHILD_THEME,则它需要一个style le.css样式表文件。我可以有一个子主题,其中包含一个空的style.css和新的样式表。问题是,将为返回的用户提供style.css缓存。
我是WordPress的新手,所以我不知道还有没有其他机制可以解决这个问题。也许有更简单的解决方案可以奏效?
解决方案
如果您使用的是主题文档建议的here自动优化,那么您需要删除缓存,您的用户将看到更改。以下引用自该文档:
安装自动优化
减少每次加载页面时加载的CSS和JS文件的数量 将极大地提高您的页面速度。 AutOptimize的另一个好处是它将捆绑由 将定制器中的选项转换为外部文件,从而使您的 浏览器对其进行缓存。
要删除并重置自动优化缓存:登录wp-admin并转到插件/自动优化/设置以删除缓存,它将执行此操作并为您启动一个新的缓存。在wp-admin的顶部菜单栏中也有一个AutOptimize项;它对此也很方便。
相关文章