Redux Wordpress Framework enqueue style


Redux Wordpress Framework enqueue style

我在wordpress主题中使用redux框架。

我的全局变量是$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;

有人知道为什么这行不通吗?还有没有办法显示此类错误/警告?

Redux 的首席开发人员。在加载此代码之前,您需要调用 Redux 配置。如果你不能做到这一点,那么你必须做一个get_option('opt_name')来获取值。

基本上,我敢打赌你会发现$us_options是空的,因为它还没有被创建。 ;)

好的,

我需要在脚本排队函数中调用全局变量。

在标题中尝试此操作.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' );      
    }
你可以

尝试这样的事情

$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 字段的 ID。

根据问题,这将是$redux_options['ua-enable-responsive']

您将需要编写一个用于排队 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 选项将为空)