Css Wordpress-如何覆盖Divi';s自定义post类型样式表

Css Wordpress-如何覆盖Divi';s自定义post类型样式表,css,wordpress,custom-post-type,Css,Wordpress,Custom Post Type,当Wordpress子主题样式表排队时,新样式将覆盖父主题的样式 但是,由于Divi引入了对自定义post类型的生成器支持,因此添加了一个新的样式表style-cpt.css 此样式表中的所有样式(不幸的是,很多样式后面都有!important)都是在子样式排队后声明的,因此将覆盖任何匹配的样式 有没有办法覆盖这种“自定义”样式表?经过一些实验,我发现functions.php中的以下代码可以工作。。。(请注意,这将使标准主题样式表和Divi的自定义post-child主题排队)。 您可以在子主

当Wordpress子主题样式表排队时,新样式将覆盖父主题的样式

但是,由于Divi引入了对自定义post类型的生成器支持,因此添加了一个新的样式表style-cpt.css

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


有没有办法覆盖这种“自定义”样式表?

经过一些实验,我发现functions.php中的以下代码可以工作。。。(请注意,这将使标准主题样式表和Divi的自定义post-child主题排队)。 您可以在子主题文件夹中的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' );

经过一些实验,我发现functions.php中的以下代码可以工作。。。(请注意,这将使标准主题样式表和Divi的自定义post-child主题排队)。 您可以在子主题文件夹中的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' );

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

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

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

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

这种方法的唯一问题似乎是样式表被加载了两次。有人知道为什么吗?好的,我最近版本的Divi已经没有这个问题了。这种方法唯一的问题是样式表被加载了两次。有人知道为什么吗?好的,我最近版本的Divi已经没有这个问题了。谢谢@geoplous,但这不会停止完全使用Divi样式表,从而停止Divi正常工作吗?我在一个项目上做了这个解决方案,没有任何问题。Divi和Divi child-theme-style.css都可以正常工作。谢谢@geoplous,但这不会完全停止使用Divi样式表,从而停止Divi正常工作吗?我在一个项目上没有问题地完成了这个解决方案。Divi和Divi child-theme-style.css都可以正常工作。