Redux WordPress Framework в стиле enqueue

Я использую фреймворк в моей теме WordPress.

Моя глобальная переменная $ua_options

Итак, я создал переключатель в моем config.php:

array(
'id'       => 'ua-enable-responsive',
'type'     => 'switch',
'title'    => __( 'Responsive', 'redux-framework-demo' ),
'compiler' => 'true',
'mode'     => false,
),

В моем functions.php Я хочу поставить файл в очередь условно:

if ($ua_options['ua-enable-responsive']) {
wp_enqueue_style( 'mytheme-bootstrap', get_template_directory_uri() . '/css/bootstrap.css'      );
}
else {
wp_enqueue_style( 'mytheme-non-responsive', get_template_directory_uri() . '/css/no-responsive.css' );
}

Но это не похоже на работу. Второй файл no-responsive.css загружается всегда, независимо от того, включаю ли я переключатель на бэкэнде.

Я также назвал глобальную переменную в верхней части моего functions.php

global $ua_options;

У кого-нибудь есть идея, почему это не сработает? Также есть ли способ показать такие ошибки / предупреждения?

0

Решение

Ведущий разработчик Redux здесь. Вам нужно вызвать конфигурацию Redux ПЕРЕД тем, как вы загрузите этот код. Если вы не можете этого сделать, то вам нужно выполнить get_option (‘opt_name’), чтобы получить значения.

Спорим, вы обнаружите, что $ us_options пуст, потому что он еще не был создан. 😉

1

Другие решения

Хорошо, мне нужно было вызвать глобальную переменную внутри функции enqueue скриптов.

0

попробуйте это в header.php. также исправить это

    if ($ua_options['ua-enable-responsive'] == '1') {
// '1' true and '0' false .
wp_enqueue_style( 'mytheme-bootstrap', get_template_directory_uri() . '/css/bootstrap.css'      );
}
else {
wp_enqueue_style( 'mytheme-non-responsive', get_template_directory_uri() . '/css/no-responsive.css' );
}
0

Вы можете попробовать что-то вроде этого

$redux_options = maybe_unserialize( get_option( 'xyz_redux', false ) );

if( $redux_options['custom-js'] ) {
add_action('wp_enqueue_scripts', 'load_custom_js');
}

куда xyz_redux это имя глобальной переменной опции Redux, это также имя опции в базе данных.

$redux_options['custom-js'] это идентификатор поля избыточности.

По вопросу это будет $redux_options['ua-enable-responsive']

Вам нужно будет написать функцию для постановки в очередь Айк

function load_custom_js() {
wp_register_script('custom-js', 'path/to/js', array(), '1.0', true );
wp_enqueue_script('custom_js');
}

У меня есть вопрос к ведущему разработчику, разве это не трата ресурсов? Я имею в виду, мне нужно будет позвонить

$redux_options = maybe_unserialize( get_option( 'xyz_redux', false ) );

каждый раз, когда я хочу что-то из вариантов редукса? (Так как вариант ответа будет пустым согласно вашему ответу)

0
По вопросам рекламы [email protected]