2014-12-24 5 views
0

Я использую структуру redux в своей теме Wordpress.Redux Wordpress Framework enqueue style

Моя глобальная переменная $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; 

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

ответ

1

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

В принципе, я уверен, вы обнаружите, что $ us_options пуст, потому что он еще не был создан. ;)

0

Ok Мне нужно было вызвать глобальную переменную внутри функции 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']

Вам нужно будет написать функцию для enqueuing IKE

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));

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