Redux框架全局变量问题

时间:2016-03-10 05:07:39

标签: php wordpress-theming redux-framework

我需要你的帮助。我正在开发Themeforest marketpalce上的WordPress主题。我在我的主题上使用了Redux Framework Option面板。但Envato Reviewers软拒绝了我的项目。对不起我不是一个好的php开发者。

拒绝问题是:全局应该始终在一个函数或一个类中,并且应该限制性地使用&只有主题真的需要。强烈建议不要使用它们只是为了使事情远离全局命名空间,它们是不良的编码实践。 http://envato.d.pr/1165K/4ZmfhB7P

我已经在功能上改变了它。但它不起作用。我该如何解决呢?


    function my_global_var(){
        global $global_var;
        return $global_var;
    }

    my_global_var();
    echo $global_var['opt_name'];

请建议我解决方案。感谢。

修改

找到此解决方案。您对此解决方案有何看法?

if ( !function_exists('my_global_var') ) {
    function my_global_var($sm_opt_1, $sm_opt_2, $sm_opt_check ){
        global $opt_name;
        if( $sm_opt_check ) {
            if(isset($opt_name[$sm_opt_1][$sm_opt_2])) {
                return $opt_name[$sm_opt_1][$sm_opt_2];
            }
        } else {
            if(isset($opt_name[$sm_opt_1])) {
                return $opt_name[$sm_opt_1];
            }
        }
    }
}

示例:

my_global_var('opt_val','',false); // old redux code $opt_name['opt_val'];
my_global_var('opt_val','opt_val_2',true); // old redux code $opt_name['opt_val']['opt_val_2'];

1 个答案:

答案 0 :(得分:0)

你可以试试这个;

function my_global_var(){
    global $global_var;
    return $global_var;
}

$get_my_global_var = my_global_var();
echo $get_my_global_var['opt_name'];