如何覆盖WordPress插件的css

时间:2018-04-03 作者:Feyt

最近,我尝试将自定义css添加到我的主题样式表中,以自定义WPBakery页面生成器按钮元素。但我看到插件(WPBarkey页面生成器)覆盖了我为按钮设置的css。其他一些插件也会出现这种情况。

我想知道如何使用自定义样式表用自己的样式覆盖按钮样式。

我读了这篇文章-best way to overide plugin CSS?

我想这只是我想称之为风格的时候。加载所有插件后使用css。但在我的例子中,我有一个不同的样式表来定制插件元素。我还看到,即使我按照文章所说的去做,插件仍然会从样式上覆盖css。css

所以我的问题是:

上面的文章能否适用于不同的样式表,或者我如何修改它才能工作?

不使用!important css规则?(我看到这篇文章很旧)。

Update

标题。php:

<?php
/**
 * The header for our theme
 *
 * This is the template that displays all of the <head> section and everything up until <header>
 *
 * 
 *
 * 
 * @since 1.0
 * @version 1.0
 */

?>
<!DOCTPYE html>
<html <?php language_attributes(); ?>>
    <head>
        <meta charset="<?php bloginfo(\'charset\') ?>">
        <link rel="profile" href="http://gmpg.org/xfn/11" />
        <link rel="pingback" href="<?php bloginfo( \'pingback_url\' ); ?>" />
        <?php if ( is_singular() && get_option( \'thread_comments\' ) ) wp_enqueue_script( \'comment-reply\' ); ?>
        <meta name="viewport" content="width=device-width, initial-scale=1.0">

        <?php wp_head(); ?>        

    </head>
    <body <?php body_class(); ?>>

   <header>
    <div class="container-fluid navbar-container">

        <nav class="navbar">
         <div class="container">
              <div class="logo-area-top">
                  <a href="<?php bloginfo(\'url\'); ?>">
                    <?php  
                        $custom_logo_id = get_theme_mod( \'custom_logo\' );
                        $logo = wp_get_attachment_image_src( $custom_logo_id , \'full\' );
                        if ( has_custom_logo() ) {
                                echo \'<img src="\'. esc_url( $logo[0] ) .\'" class="logo">\';
                        } else {
                                echo \'<h1>\'. get_bloginfo( \'name\' ) .\'</h1>\';
                        }
                    ?>
                  </a>
              </div><!--logo-area-top-->

              <div class="menu-area-top">
                  <?php
                        wp_nav_menu( array(
                            \'theme_location\' => \'header-menu\',
                            \'menu_class\' => \'nav-ul js--nav-ul\',
                            \'fallback_cb\' => false
                        ) );
                  ?>

              </div><!--menu-area-top-->
              <a class="mobile-nav-icon js--nav-icon"><i class="ion-navicon-round"></i></a>
          </div> 
        </nav><!--nav-->

    </div><!--.navbar-container-->
</header>
功能。php:

<?php
function af_enqueue_script() {
    wp_enqueue_script( \'bootstrap-js\', \'//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js\', array(\'jquery\'), true);
    wp_enqueue_script( \'mobile-nav\', get_template_directory_uri() . \'/js/mobile-nav.js\', array( \'jquery\' ), \'1.0.0\', true );

    wp_enqueue_style(\'bootstrap\', \'//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css\'); //bootstrap
    wp_enqueue_style( \'google-fonts-lato\', \'//fonts.googleapis.com/css?family=Lato:300,400,900\'); //fonts
    wp_enqueue_style(\'vc-style\', get_stylesheet_directory_uri() . \'/css/vc_elements-style.css\'); //visual composer
    wp_enqueue_style( \'ionicons\', get_stylesheet_directory_uri() . \'/assets/ionicons.css\'); //icon library
    wp_enqueue_style(\'style\', get_stylesheet_uri(), false); //custom stylesheet for theme
    wp_enqueue_style(\'queries-layout\', get_stylesheet_directory_uri() . \'/css/queries.css\');

}

add_action(\'wp_enqueue_scripts\', \'af_enqueue_script\');

1 个回复
最合适的回答,由SO网友:Abhik 整理而成

假设您正在使用替代页面生成器样式vc-style 样式表。

试试这个。。

function vc_override() {
    wp_enqueue_style( \'vc-style\', get_stylesheet_directory_uri() . \'/css/vc_elements-style.css\', array(\'js_composer_front\') ); //visual composer
}
add_action( \'wp_enqueue_scripts\', \'vc_override\', 999 );
查看网站的源代码,以检查您的样式是显示在visual composer样式之前还是之后。

结束

相关推荐

我无法添加带函数的css。php

我对用WordPress创建主题比较陌生,我一直在用旧的echo get_stylesheet_uri();. 但我发现这不是推荐的方法,而是在函数中添加所有样式。php。旧方法(工作):<link rel=\"stylesheet\" href=\"<?php echo get_stylesheet_uri(); ?>\"> 新方法(不工作):<?php add_theme_support(\'post-thumbnails\'); //Pos