2015-01-07 6 views
2

하위 테마에서 작업 중입니다. 내 style.css 자식 테마의 파일이 제대로 작동하지만 내 layout.css 파일이 하위 테마에서 작동하지 않습니다. 부모 테마 layout.css에 대한하위 테마에서 layout.css를 편집하는 방법

디렉토리 구조는 내가 mychildtheme/css/layout.css

입니다하지만 아이 layout.css에서 코드를 작성할 때, 그것이 작동하지 않는 자식 테마에서 같은 디렉토리 구조를 유지 한 mytheme/css/layout.css

입니다 .

브라우저는 부모 테마 (layout.css)

친절

제가 그렇게 내 layout.css 아이 테마가 제대로 작동하는지 무엇을해야하는지 알려에서 코드를 선택합니다.

답변

0

스타일 시트는 일반 테마 PHP 파일과 다릅니다. 이러한 PHP 파일을 사용하면 테마에 같은 이름의 파일을 만드는 것으로 충분하며 WP는이를 사용하는 방법을 알게됩니다. 그러나 CSS를 사용하면 동일한 이름의 파일을 만드는 것으로 충분하지 않습니다. 원하는 페이지에 명시 적으로 포함시켜야합니다.

가장 좋은 방법은 하위 테마 function.php 파일에서 wp_enqueue_style 기능을 사용하는 것입니다. 설명 된 디렉토리 구조를 사용하여이를 수행하는 방법은 다음과 같습니다.

<?php wp_enqueue_style('child-theme-layout', get_stylesheet_directory_uri().'/css/layout.css'); ?> 
+0

하이 레아 코헨에 속한다. 내 자식 function.php에 해당 함수를 작성합니다. – MC3

+0

친절하게 "원하는 페이지에 명시 적으로 포함시켜야합니다." – MC3

+0

내 자식 테마에 하나의 style.css를 사용하고 있습니다. 나는 그것을 포함 할 것이다. 감사합니다 – MC3

0

가장 좋은 방법은 당신의 아이 테마의 style.css에는이로드되어 있는지 확인하는 것입니다 자세한 내용 , 당신은 여기에 모양을 가질 수있다 부모 테마의 layout.css 다음에. 그런 다음 style.css를 통해 일반적인 방법으로 필요한 작은 것을 쉽게 덮어 쓸 수 있습니다.

다음은 WooThemes 제품에서 작동하는 몇 가지 코드로 부모 자녀의 layout.css 뒤에 항상로드됩니다.

이 자식 테마의 functions.php

function use_parent_theme_stylesheet() { 
    // Use the parent theme's stylesheet 
    return get_template_directory_uri() . '/style.css'; 
} 

function my_theme_styles() { 
    $themeVersion = wp_get_theme()->get('Version'); 

    // Enqueue our style.css with our own version 
    wp_enqueue_style('child-theme-style', get_stylesheet_directory_uri() . '/style.css', 
     array('woo-layout'), $themeVersion); 
} 

// Filter get_stylesheet_uri() to return the parent theme's stylesheet 
add_filter('stylesheet_uri', 'use_parent_theme_stylesheet'); 

// Enqueue this theme's scripts and styles (after parent theme) 
add_action('wp_enqueue_scripts', 'my_theme_styles', 20); 
관련 문제