Fatal error: Cannot re-assign auto-global variable _POST
Since PHP 5.4, you cannot use a superglobal as the parameter to a function
$_POST is globally accessible. So you don't have to pass to your function.
http://php.net/manual/en/language.variables.superglobals.php#112184
This is how your function should look like
function rt_check_sidebar_array(){ if(is_array($_POST)){ $start_unset_count = 0; foreach($_POST as $key => $value){ if(stristr($key, '_sidebar_name') == TRUE && $value=="") { unset($_POST[$key]); $start_unset_count = 1; } if($start_unset_count>0){ unset($_POST[$key]); $start_unset_count++; } if($start_unset_count==6){ $start_unset_count = 0; } } } $newPost == $newPost ? $newPost : $_POST; return $_POST;}
@user3450716, the only thing you need to do, as Abhik Chakraborty said, is to delete the $_POST
from your function rt_check_sidebar
parameters and leave the function with no parameters, like this:
your line 540:
function rt_check_sidebar_array($_POST){
change it to:
function rt_check_sidebar_array(){
@user3450716.You can't change superglobal variables too, so you can't use unset($_POST[$key])
function rt_check_sidebar_array(){ $post = $_POST; if(is_array($post)){ $start_unset_count = 0; foreach( $post as $key => $value ){ if( stristr( $key, '_sidebar_name' ) == TRUE && $value == "" ) { unset( $post[ $key ] ); $start_unset_count = 1; } if( $start_unset_count > 0 ){ unset( $post[ $key ] ); $start_unset_count++; } if( $start_unset_count == 6 ){ $start_unset_count = 0; } } } // idk why you wrote this, // because $newPost variable isn't used in the code above and below $newPost == $newPost ? $newPost : $post; return $post;}