Hello guys. I need your help. I’m used Redux Framework Option panel on my theme. But Envato Reviewers soft rejected my item. I’m sorry. I’m not good php developer.
Rejection issue is: Globals should always be within a function or a class and should be used restrictively & only if theme really needs to. It’s highly recommended not to use them at all just to keep things out of the global namespace, they’re poor coding practice. http://envato.d.pr/1165K/4ZmfhB7P
I’ve changed it on function. but it not working. How can i fix it.
function my_global_var(){
global $global_var;
return $global_var;
}
my_global_var();
echo $global_var[‘opt_name’];
Please suggest me solution. thanks.
may be
function my_global_var($val){
global $global_var;
return $global_var[$val];
}
echo my_global_var(‘opt_name’);
Thanks for the suggestion.
I found solution for this issue.
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];
}
}
}
}
Example:
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 Like
You can also use get_option
:
$my_global_var = get_option( 'my_global_var' );
$my_setting = empty( $my_global_var['my_setting'] ) ? '' : $my_global_var['my_setting'];
echo $my_setting;
The only problem is that it won’t update the option when using the customizer.
Hi @geniuspro,
Did you get your theme approved with this solution?
Thanks in advance for your help.
Hello @pearlthemes
Reviewers not rejected again with this issue.
If anyone have final solution please share with us.
Hi @codetracks,
@geniuspro told that he didn’t get rejected his theme due to this issue after the solution he shared.
So we may use his solution.
Thank You.