【问题标题】:How to override CSSin Wordpress如何在 Wordpress 中覆盖 CSS
【发布时间】:2017-05-11 15:01:49
【问题描述】:

我正在尝试创建一个 Wordpress 子主题,但我似乎无法让它覆盖父主题中的样式。

functions.php

<?php

if ( ! function_exists( 'my_theme_enqueue_styles' ) ) {
    add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );

    function my_theme_enqueue_styles() {
        wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
    }
}

/**
 *    WP Enqueue Stylesheets
 */
if ( ! function_exists( 'rev_cust_enqueue_stylesheets' ) ) {
    add_action( 'wp_enqueue_scripts', 'rev_cust_enqueue_stylesheets' );

    function rev_cust_enqueue_stylesheets() {
        wp_enqueue_style( 'rev-main', get_template_directory_uri() . '/layout/css/rev_main.css', array(), '', 'all' );
    }
}

?>

rev_main.css

#header .top-header .header-navigation ul li {
    margin-left: 40px;
    line-height: 1.375;
    font-weight: normal !important;
    font-size: 1px;
    color: #fff;
    text-transform: uppercase;
    position: relative;
    float: left;
 }

为什么我的样式类没有被选中?

提前谢谢大家。

更新

  1. 我认为 css 文件甚至不会被拾取,
  2. 我启用了子主题。

【问题讨论】:

标签: php css wordpress


【解决方案1】:

问题出在:

get_template_directory_uri()

在:

/**
 *    WP Enqueue Stylesheets
 */
if ( ! function_exists( 'rev_cust_enqueue_stylesheets' ) ) {
    add_action( 'wp_enqueue_scripts', 'rev_cust_enqueue_stylesheets' );

    function rev_cust_enqueue_stylesheets() {
        wp_enqueue_style( 'rev-main', get_template_directory_uri() . '/layout/css/rev_main.css', array(), '', 'all' );
    }
}

?>

这指向父主题,而不是子主题。

应该是get_stylesheet_directory_uri,如下:

function rev_cust_enqueue_stylesheets() {
    wp_enqueue_style( 'rev-main', get_stylesheet_directory_uri() . '/layout/css/rev_main.css', array(), '', 'all' );
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-29
    • 2021-03-26
    • 1970-01-01
    • 2017-10-21
    • 2012-12-17
    • 2017-11-17
    • 2017-02-27
    相关资源
    最近更新 更多