Wordpress样式表儿童主题

时间:2017-06-19 10:05:18

标签: php css wordpress parent-child

实际上我的问题是我已经有了一个功能性的Child主题,其中包含functions.php和许多其他的filesname.php以及一个正常工作的style.css,但是当我尝试添加其他样式表时,例如模块。 min.css主题只是在父文件夹中读取它所以我无法更改我的网站中的样式表,这很烦人

一些数据: 我要覆盖的父文件夹中的文件:\ wp-content \ themes \ startit \ assets \ css \ modules.min.css

子文件夹中的文件我想要阅读:\ wp-content \ themes \ startit-child \ assets \ css \ modules.min.css

我还尝试将modules.min.css放在styles.css旁边的子主题中,但是我无法覆盖父文件夹\ wp-content \ themes \ startit-child \ modules.min。 CSS

这就像我的functions.php:

<?php
function startit_enqueue_styles() {

$parent_style = 'startit-style'; // 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', 'startit_enqueue_styles' );

?>

谢谢!

2 个答案:

答案 0 :(得分:1)

// Add css file or js file
function activate_css() {
wp_enqueue_style('min_style_css',  get_template_directory_uri() .'assets/css/modules.min.css'));
));
}
//add css
add_action( 'init','activate_css');

答案 1 :(得分:0)

有几种方法可以做到这一点,最简单的方法是:

  1. 删除/取消父CSS文件
  2. 添加/排队新的CSS文件

    function PREFIX_remove_scripts() {
       wp_dequeue_style( 'put_modules_file_handler_here' );
       wp_deregister_style( 'put_modules_file_handler_here' );
    
       // Now register your child CSS here, using wp_enqueue_style
    }
    add_action( 'wp_enqueue_scripts', 'PREFIX_remove_scripts', 20 );
    
  3. 一些常见的混淆 您是否应该将子样式以及父样式排入队列?有必要吗?关于在儿童主题中排列样式表存在很多困惑。答案取决于父样式如何包含在父主题中。例如,如果父主题使用get_stylesheet_uri()将样式排入队列,

    例如Twenty Sixteen:

    wp_enqueue_style('twentysixteen-style', get_stylesheet_uri());
    

    然后您不需要将子样式排入队列。这是因为get_stylesheet_uri()返回当前活动主题的URL,在这种情况下是子主题。

    这是使用子主题时返回网址的方式

    get_stylesheet_uri()           = http://example.com/wp-content/themes/example-child/style.css
    get_template_directory_uri()   = http://example.com/wp-content/themes/example-parent
    get_stylesheet_directory_uri() = http://example.com/wp-content/themes/example-child
    

    因此,我建议您检查一下您的父functions.php并查看该样式如何排队,以便您可以正确处理它。