对子主题的更改在我的网站上不可见

时间:2017-02-23 作者:Line

我正在为我的网站编辑狂欢主题,我已经设置了我的孩子主题,创建了一种风格。css文件,并成功地从父主题导入了所有功能,但无论我尝试什么,我似乎都无法对我的设计进行任何更改。我已经尝试了我在我的孩子主题风格中使用的一切和代码。css文件根本没有显示在我的网站上。我做错了什么?

真的希望有人能帮忙,任何意见都非常感谢!

我的网站是:resourcefulliving。丹麦

最好的

2 个回复
SO网友:Manu

查看站点的源代码,我假设您的子主题文件夹的名称有问题-在源代码视图中,它显示为revelar%20child%20theme.

建议的步骤:

重新启用父主题

SO网友:bosco

我认为@Scott的评论是关于金钱-你的孩子主题的CSS应用正确。

如果您使用的是Google Chrome/Chrome,请点击F12打开开发工具,然后单击并按住刷新按钮并选择“硬重新加载”选项之一。其他浏览器也有类似的功能-请参阅this Codex entry for more information.

如果您想跳过每次更改的硬重新加载,那么有几个选项。如果您查看站点的源代码,了解它是如何加载父主题和子主题的style.css 文件,您将看到URL

wp-content/themes/revelar/style.css?ver=4.7.2

wp-content/themes/revelar%20child%20theme/style.css?ver=4.7.2

请注意?ver=4.7.2 最后,将脚本和样式表排入队列的函数的可选参数之一是版本号,如果省略版本号,WordPress将使用WordPress安装的版本号,就像这里所做的那样。版本号会附加到资源URL的末尾,以便在更改时自动使缓存的副本无效,浏览器将下载(可能的)新资源,而不是使用旧资源。

如果你跟着the Theme Developer Handbook\'s guide on creating a child theme, 然后,您可能会在子主题的函数中使用动作。php文件将Revelar和您的子主题的style.css 像这样的文件:

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

function wpse257696_child_enqueue_styles() {
  $parent_style  = \'revelar-styles\';

  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\')
  );
}
注意,它将子主题样式表的版本参数指定为wp_get_theme()->get(\'Version\') - 这样做的目的是阻塞当前活动主题(您的子主题)的版本号,该版本号在style.css 文件(如果存在)。因此,在进行更改时,中断缓存的一种方法是添加Version: 字段添加到样式表标题,然后在每次更改样式表时将其递增。

在里面WPSE #40667, toscho提供了一个更强大的解决方案,只需将样式表的版本号设置为文件本身的“上次修改时间”——通过这种方式,更改和保存样式表将自动使缓存失效,而无需手动更改主题的版本号。根据您的需要,此类解决方案类似于:

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

function wpse257696_child_enqueue_styles() {
  $parent_style     = \'revelar-styles\';
  $child_stylesheet = get_stylesheet_directory_uri() . \'/style.css\';
  $last_modified    = filemtime( $child_stylesheet );

  wp_enqueue_style( $parent_style, get_template_directory_uri() . \'/style.css\' );
  wp_enqueue_style( \'child-style\',
    $child_stylesheet,
    array( $parent_style ),
    $last_modified
  );
}

相关推荐

Child-theme breaks site

所以,我有一个子主题,里面除了所需的CSS文件之外什么都没有。一旦我激活了这个儿童主题,我的整个网站就关闭了。最后我有两个问题:激活一个只有CSS的子主题怎么能破坏我的网站</我怎样才能回到我原来的主题</这些是网站给我的错误:Warning: require_once(/wp-content/themes/interio_child/admin/options-framework.php) [function.require-once]: 无法打开流:中没有此类文件或目录/wp-c