浏览器堆叠了不同版本的style.css

时间:2020-05-08 作者:David Sarrà

我正在处理《阿斯特拉》中的一个儿童主题。我正在编辑“样式”。“我的孩子”主题的css,用于设计我的网站。我将此代码添加到我孩子的函数中。php文件将父子样式排队。

<?php

add_action(\'wp_enqueue_scripts\', \'example_enqueue_styles\');

add_action( \'wp_enqueue_scripts\', \'my_theme_enqueue_styles\' );
function my_theme_enqueue_styles() {

$parent_style = \'astra\';

wp_enqueue_style( $parent_style, get_template_directory_uri() . \'/style.css\' );
wp_enqueue_style( \'child-style\',
    get_stylesheet_directory_uri() . \'/style.css\',
    array( $parent_style ),
    wp_get_theme()->get(\'Version\')
);
}
虽然浏览器按照我的意愿绘制了我的子主题的样式,但在同一代码的不同版本中,它也碰巧绘制了两次:

snippet of the issue

它会导致某些元素出现样式问题。我相信问题的根源是我的排队代码,但我不知道它是什么。

非常感谢。

2 个回复
最合适的回答,由SO网友:CRavon 整理而成

问题源于父样式加载了两次:

版本为(\'?ver=1.0等)的一个,首先放在图片上,然后由父主题加载,版本设置为wp_enqueue_style ), 要解决此问题,请删除

wp_enqueue_style( $parent_style, get_template_directory_uri() . \'/style.css\' );
因为它已经由父主题加载,并且被描述为子样式的依赖项。

SO网友:Sanjay Gupta

需要先删除此项:add\\u action(“wp\\u enqueue\\u scripts”,“example\\u enqueue\\u style”);

请尝试以下操作:

function my_theme_enqueue_styles() {

  $parent_style = \'astra\'; 
  wp_enqueue_style( $parent_style, get_template_directory_uri() . \'/style.css\' );
  wp_enqueue_style( \'child-style\', get_stylesheet_directory_uri() . \'/style.css\', array( $parent_style ), wp_get_theme()->get(\'Version\'));
}

add_action( \'wp_enqueue_scripts\', \'my_theme_enqueue_styles\' );

相关推荐

自定义css文件在第二页上不起作用

我在WordPress中创建了一个自定义主题,一切正常,CSS正在加载到我的索引中。php。所以现在我复制粘贴了索引。php并将其重命名,然后我转到indexCopy站点,CSS不会加载。在代码中,除了文件名以外,所有内容都是sam。当我返回索引时。php,css正在工作。您是否需要此问题的代码示例?我做错了什么?