Wordpress 中的子主题未使用 functions.php 而不是 @import 加载

Child theme in Wordpress not loading using functions.php instead of @import

我已经搜索了几个问题,但仍然遇到问题。我真的很感谢你们提供一些专业知识。 =)

在我的 WordPress 网站上创建和激活的子主题似乎没有任何变化。

我基本上知道零 PHP 但尝试使用 functions.php 而不是 @import 因为它应该是一个更好的加载时间。

这是我的子主题目录 style.css(第一个)和 functions.php(第二个)

/*
Theme Name: Quest-Child
Description: No Coward's Quest Child Theme
Author: Jason from No Coward
Author URI: http://www.nocoward.com
Template: quest 
Version: 1.0
*/

/* add padding to site description */
.site-description {
    padding-top: 15px;
    padding-bottom: 30px;
}

.body {
    background: red;
}

/* can be found on "Services" page. Is the first ID within the <p> element */
#cc-m-12571703896 {
    background: blue;
}

<?php
function my_theme_enqueue_styles() {

    $parent_style = 'quest-all-css'; // This is 'twentyfifteen-style' for the Twenty Fifteen theme.

    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' );
?>

WordPress 识别子主题并允许我成功激活它。

CSS 中的内容是我尝试用来测试我的子主题并放置我的更改的内容。什么都没有出现。

同样,我的 PHP 知识为零。基于the official WordPress "How to create a child theme",我复制并粘贴了上面的代码,并尝试根据他们的说明填写"parent-style"值。

这是我在父主题上看到的内容,我可能会用于 functions.php "parent-style"...

// Enqueue required styles
            wp_enqueue_style( 'quest-bootstrap', get_template_directory_uri() . '/assets/plugins/bootstrap/css/bootstrap.min.css' );
            wp_enqueue_style( 'smartmenus', get_template_directory_uri() . '/assets/plugins/smartmenus/addons/bootstrap/jquery.smartmenus.bootstrap.css' );
            wp_enqueue_style( 'font-awesome', get_template_directory_uri() . '/assets/plugins/font-awesome/css/font-awesome.min.css' );
            wp_enqueue_style( 'animate-css', get_template_directory_uri() . '/assets/plugins/animate/animate.css' );
            wp_enqueue_style( 'slit-slider', get_template_directory_uri() . '/assets/plugins/FullscreenSlitSlider/css/style.css' );
            wp_enqueue_style( 'colorbox', get_template_directory_uri() . '/assets/plugins/colorbox/colorbox.css' );
            wp_enqueue_style( 'Quest-style', get_stylesheet_uri(), array(
                'quest-bootstrap',
                'smartmenus',
                'font-awesome',
                'animate-css',
                'slit-slider',
                'colorbox'
            ) );

...

// Enqueue required styles
            wp_enqueue_style( 'quest-all-css', get_template_directory_uri() . '/assets/css/plugins-all.min.css' );
            wp_enqueue_style( 'Quest-style', get_stylesheet_uri(), array( 'quest-all-css' ) );

            // Enqueue required scripts
            wp_enqueue_script( 'quest-all-js', get_template_directory_uri() . '/assets/js/quest-and-plugins.js', array(
                'jquery',
                'masonry'
            ) );

我错过了什么?

提前致谢! -杰森

我设法解决了这个问题。这是我在帮助论坛上找到的 PHP 代码。我认为 "Portfolio" 位可能是无关紧要的,但它正在工作,所以我将它留在那里以防万一。

<?php
add_action( 'wp_enqueue_scripts', 'quest_child_enqueue_styles' );
function quest_child_enqueue_styles() {
    wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
}
add_filter( 'quest_plus_template_content-portfolio', 'quest_child_template_portfolio' );

function quest_child_template_portfolio(){
    return get_stylesheet_directory() . '/content-portfolio.php';
}

注意此解决方案:发生了一件奇怪的事情。我添加了一些样式来制作一些东西 "Background: red" 这样我就可以测试子主题是否正常工作,尽管删除了那部分代码,它仍然出现。

现在我将其归结为托管速度慢,但请注意,如果您遵循此解决方案,就会发生这种情况。

希望这对其他人有帮助! =)

杰森