WordPress-如何覆盖Divi的自定义帖子类型样式表

时间:2018-11-26 02:58:05

标签: css wordpress custom-post-type

在加入Wordpress子主题样式表the correct way时,新样式将覆盖父样式。

但是,由于Divi引入了Builder对自定义帖子类型的支持,所以添加了新的样式表style-cpt.css。

此样式表中的所有样式(不幸的是,其中很多样式后面都有!important)是在排队的子样式之后声明的,因此将覆盖所有匹配的样式。

是否有任何方法可以覆盖此类“自定义”样式表?

2 个答案:

答案 0 :(得分:1)

我正在使用它并且工作正常:

function disable_cptdivi(){
remove_action( 'wp_enqueue_scripts', 'et_divi_replace_stylesheet', 99999998 ); } add_action('init', 'disable_cptdivi');

答案 1 :(得分:0)

经过一些试验,我发现functions.php中的以下代码可以使用...(请注意,这将使标准主题样式表以及Divi的自定义后置子主题都入队)。 您可以在子主题文件夹的自己的style-cpt.css文件中包含所有要覆盖的样式。

function my_theme_enqueue_styles() {

    $parent_style = 'divi-style';
    $template_directory = get_template_directory_uri();
    $stylesheet_directory = get_stylesheet_directory_uri();

    wp_enqueue_style( $parent_style, $template_directory . '/style.css' );
    wp_enqueue_style( 'child-style',
        $stylesheet_directory . '/style.css',
        array( $parent_style ),
        wp_get_theme()->get('Version')
    );

    $parent_style = 'divi-cpt-style'; 

    wp_enqueue_style( $parent_style, $template_directory . '/style-cpt.css' );
    wp_enqueue_style( 'child-cpt-style',
        $stylesheet_directory . '/style-cpt.css',
        array( $parent_style ),
        wp_get_theme()->get('Version')
    );
}
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );