0

我需要你的帮助。我正在 Themeforest 市场上开发 WordPress 主题。我在我的主题上使用了 Redux Framework Option 面板。但是 Envato Reviewers 软拒绝了我的项目。对不起。我不是优秀的 php 开发人员。

拒绝问题是:全局变量应该总是在一个函数或一个类中,并且应该限制性地使用并且只有在主题确实需要时才使用。强烈建议不要使用它们,只是为了将事物排除在全局命名空间之外,它们是糟糕的编码实践。http://envato.d.pr/1165K/4ZmfhB7P

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

    函数 my_global_var(){
        全球 $global_var;
        返回 $global_var;
    }

    我的全局变量();
    回声 $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'];
4

1 回答 1

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'];
于 2016-03-30T02:18:38.603 回答