Wordpress儿童主题CSS不反映在网站上

时间:2010-12-16 15:12:52

标签: css wordpress

我已经半成功创建了一个wordpress儿童主题。通过成功我的意思是:

  1. 我设法在我的主题文件夹中创建一个子主题目录 到我的主题
  2. 我在child-theme dir
  3. 中创建了一个style.css文件
  4. 我看到该样式出现在我的Wordpress后端并设法激活它
  5. 我将模板(header.php,sidebar.php,...)添加到目录
  6. 我对上述模板进行了更改,并在我的网站上看到了更改
  7. 然而,存在一个巨大的问题:

    1. 无论我尝试添加到style.css文件的CSS,它都不会影响网站
    2. 我知道“信息标题”必须正常,因为我能够看到/激活子主题。但我真的无法弄清楚出了什么问题。我尝试删除@import规则,根据Wordpress codex应删除我网站上的所有样式 - 没有任何反应。

      我正在使用全景主题,并在孩提时代创造了“全景技术”。下面你可以看到我在child-theme里面的style.css文件中的代码:“panorama-technology”:

      /*
      Theme Name: panorama-technology
      Template: panorama
      */
      
      @import url("../panorama/style.css");
      
      #search{
      margin: 15px 15px 0 0;
      }
      

4 个答案:

答案 0 :(得分:10)

WouterB,我在后端加载了我的子主题,并且子php页面覆盖了父主题php页面,但是没有子CSS改变加载来覆盖父样式。

所以,尽管使用了不同的编码,但事实证明我的父主题是以这样的方式编写的,即标题也在模板目录中查找样式表,因此您的解决方案在概念中很明显。

因此,通过更改标题中的调用:

<link rel="stylesheet" type="text/css" 
  href="<?php echo get_template_directory_uri();?>/style.css" />

为:

<link rel="stylesheet" type="text/css" 
  href="<?php echo get_stylesheet_directory_uri();?>/style.css" />

- 像魔术那样的伎俩。至少到目前为止我已经知道了。

你在我的书中获得了很大的荣誉!

答案 1 :(得分:1)

首先,我尝试一条绝对路径,以确保路径不是问题。如果这不能解决问题。将@import放在css文件的最顶部或直接放在thelast“* /”之后。我认为白色空间可能是这里的罪魁祸首。

答案 2 :(得分:0)

注意缓存:

  1. wp缓存插件

  2. 服务器端缓存(APC等)

  3. 本地浏览器缓存

答案 3 :(得分:0)

不要使用导入。

在css uri之后添加时间以便每次刷新。

function.php

function child_style() {
    wp_enqueue_style( 'parent-child', get_stylesheet_uri().'?'.time());
}
add_action( 'wp_enqueue_scripts', 'child_style', 20 );