为HTML5 Blank创建子主题

时间:2014-08-13 15:17:06

标签: html5 wordpress themes

我刚刚在我的WordPress安装中安装了HTML5 Blank主题。

http://html5blank.com/

我尝试使用WordPress codex上显示的@import方法为它创建一个子主题。

/*
Theme Name: html5blank-child
Description: Child theme for HTML5 Blank
Template: html5blank-stable
Author: James
*/

@import url("../html5blank-stable/style.css");

它不起作用,我添加到子主题的任何CSS都不会覆盖父级。

帮助!

詹姆斯

2 个答案:

答案 0 :(得分:7)

HTML5Blank不是一个儿童主题友好的'主题默认。

这是因为它是一个空白的'模板通常是为了直接编辑,但由于您可能希望在各个网站上保留您的工作以及父主题更新,因此我们必须将您的HTML5Blank主题设置为父级主题,因此儿童主题友好。

您会记得(通过子主题友好的父主题),您可以通过添加名为HTML5Blank-child的文件夹来创建子主题,并添加 style.css 文件将保存您的自定义设置,您还可以添加一个functions.php,然后保存您可能需要的任何自定义功能(请注意,您不能只复制父主题 files.php 将文件存档到您的子主题文件夹,因为您要再次初始化所有功能,这会使您的页面过载。)

请注意 get_template_directory_uri()功能与 get_stylesheet_directory_uri()功能,以查看您正在考虑的主题是否是' child-theme-友好',(在HTML5Blank的情况下,它使用 get_template_directory_uri()函数来排列它的样式表,这意味着它不是),你&# 39;然后想要在您的子主题(HTML5Blank-stable-child)中为新创建的 functions.php 添加一些功能,并包含以下代码:

    <?php
    // De-register HTML5 Blank styles
    function html5blank_styles_make_child_active()
    {
    wp_deregister_style('html5blank'); // Enqueue it!
    }
    add_action('wp_enqueue_scripts', 'html5blank_styles_make_child_active', 100); // Add Theme Child Stylesheet

    // Load HTML5 Blank Child styles
    function html5blank_styles_child()
    {
    wp_register_style('html5blank-child', get_stylesheet_directory_uri() . '/style.css', array(), '1.0', 'all');
    wp_enqueue_style('html5blank-child'); // Enqueue it!
    }
    add_action('wp_enqueue_scripts', 'html5blank_styles_child'); // Add Theme Child Stylesheet
    ?>

然后,您将看到我们已经注册了HTML5Blank样式表的入口,然后注册了子样式表,以便它可以作为主样式表的覆盖。 它仍在使用的主样式表,但子主题现在具有正确的优先级作为覆盖。最后,我们根本没有编辑父主题,以实现这一结果。

完成上述操作后,您应该会在网站源代码中看到与下面类似的行:

    <link rel='stylesheet' id='html5blank-child-css'  href='/3.9.2/wp-content/themes/html5blank-stable-child/style.css?ver=1.0' media='all' />

可以(暂时)为您的子主题 style.css 文件添加第二个可视化测试的简单CSS规则:

    body {
    font:300 11px/1.4 'Helvetica Neue', Helvetica, Arial, sans-serif;
    color:#444;
    background:#f00 !important;
    }

然后,您将看到我们已经注册了HTML5Blank样式表的入口,然后注册了子样式表,以便它可以作为主样式表的覆盖。它仍在使用的主样式表,但子主题现在具有正确的优先级作为覆盖。

最后,我们根本没有编辑父主题,以实现这一结果。

您应该看到红色背景。

然后,这将允许您继续编辑子主题,并且仍然可以在将来更新HTML5Blank主题,这与使用WordPress的最佳方式保持一致。

答案 1 :(得分:-1)

在模板上,尝试删除“-stable”。这只是猜测。 @import网址很好,因为这是主题所在的文件夹。