Как установить цвет фона rgba из Redux Framework color_rgba-type? - PullRequest
0 голосов
/ 30 апреля 2019

Я пытаюсь добавить параметры в настройках моей темы, чтобы установить цвет фона моего мобильного меню с помощью Redux Framework.Я использовал тип color_rgba, чтобы я мог выбрать цвет с непрозрачностью.

Я вижу свой цвет фона, установленный в моем меню с классом 'mobile-menu', но только значение HEX.

Redux::setSection( $opt_name, array(
    'title'      => __( 'Mobile menu', 'redux-framework-demo' ),
    'id'         => 'header-mobile-menu',
    'subsection' => true,
    'fields'     => array(
            'id'       => 'header-mobile-menu-background',
            'type'     => 'color_rgba',
            'title'    => __('Mobile menu background Color', 'redux-framework-demo'), 
            'subtitle' => __('Background color for mobile menu overlay', 'redux-framework-demo'),
            'default'  => array(
                'color'     => '#E2E2E2',
                'alpha'     => 1
            ),
            'transparent' => false,
            'output'   => array(
                'background-color' => '.mobile-menu',
            ),
        ),

) );

Как мне получить цвет rgba вместо цвета HEX?

1 Ответ

1 голос
/ 13 мая 2019

Я не использую вывод для генерации своего стиля, так как я работаю со своими стилями в отдельном файле PHP.Но я покажу вам, как я это сделал, и, надеюсь, это поможет вам.

Я думаю, что это также возможно, потому что вы не используете значение RGBA по умолчанию в ваших настройках.

Вотмой массив полей:

array(
            'id' => 'the-id-of-my-field-is-here',
            'type' => 'color_rgba',
            'title' => 'my title of my field setting', 
            'subtitle' => esc_html__('My subtitle of my field setting', 'redux-framework-demo'),
            'transparent' => false,
            'default'  => array(
                'color'     => '#E2E2E2',
                'alpha'     => 1
            ),

        ),

в моем отдельном php-файле. Я называю имя своей опции следующим образом:

//This sets my redux settings in a variable called options    
$options = get_my_theme_options();

Затем я проверяю, есть ли значение в моих опциях, и еслиесть, используйте его в моем стиле следующим образом:

if(!empty($options['the-id-of-my-field-is-here'])) {
    echo'.mobile-menu {
        background-color: '.$options["the-id-of-my-field-is-here"]['rgba'].';
    }';
}

Как вы можете видеть, я вызываю другой массив в конце примерно так: [rgba]

Мое предположение может заключаться в том, чтобы попытаться по-моему или добавить значение RGBA в массив по умолчанию, например:

'default'  => array(
                'color'     => '#E2E2E2',
                'alpha'     => 1,
                'rgba'      => 'RGBA VALUE HERE'
            ),

Надеюсь, это поможет в любом случае.

...