如何加载wp_add_inline_style

时间:2022-01-25 作者:Dev

我使用这段PHP代码通过函数修改默认的CSS内联。然而php不起作用。

<?php
add_action( \'wp_enqueue_scripts\', \'inline_bar_width\' );

function inline_bar_width() {

    if ( is_category( \'ratings\' ) ) {

        $theme_version = wp_get_theme()->get( \'Version\' );

        $bar = bar_width();

        $css = \'\';

        $css .= sprintf(
            \'.bar {width: %s%%;}\',
            $bar
        );

        if ( $css ) {
            wp_add_inline_style( $theme_version, $css );
        }
    }
}
我试过包装wp_enqueue_scripts 在不同的钩子中,但不起作用。

我正在通过子主题来加载父样式

add_action( \'wp_enqueue_scripts\', \'child_enqueue_parent_styles\' );
function child_enqueue_parent_styles() {

       wp_enqueue_style( \'parent-style\', get_template_directory_uri() . \'/style.css\' );

}
Update : 使用此代码不会更改宽度值。它应该根据PHP代码控制宽度$条形图返回宽度。问题与使用有关wp_add_inline_style( \'twentytwenty\', $css ); 在一个二十个孩子的主题中,或者以我基于此代码使用它的方式。

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

您还需要添加子主题样式表排队

add_action( \'wp_enqueue_scripts\', \'inline_bar_width\' );
function inline_bar_width() {

wp_enqueue_style( \'twentytwenty-style\', get_stylesheet_directory_uri() . \'/style.css\' );

if ( is_category( \'ratings\' ) ) {

    $bar = bar_width();

    $css = \'\';

    $css .= sprintf(\'.bar {width: %s%%;}\', $bar );

    if ( $css ) {
        wp_add_inline_style( \'twentytwenty-style\', $css );
    }
  }
}

相关推荐