Wordpress theme Error "Fatal error: Cannot re-assign auto-global variable _POST"
14,348
Replace
function events_meta_save($_POST, $post_id) {
global $wpdb;
if ( empty($_POST["event_social_sharing"]) ) $_POST["event_social_sharing"] = "";
....
....
with
function events_meta_save($_my_post, $post_id) {
global $wpdb;
if ( empty($_my_post["event_social_sharing"]) ) $_POST["event_social_sharing"] = "";
....
....
Do not forget to replace ALL $_POST
inside the condition with $_my_post
or any other name u like
Reason, as written in other answers:
You cannot use $_POST as a function / method argument
. Doing so attempts to re-assign the variable in the symbol table. Regard this as a saved keyword of the language. Putting it in a function signature is like defining new variable using a keyword of the language as the variable name.
Author by
snjflame
Updated on June 05, 2022Comments
-
snjflame almost 2 years
there's a error in this theme, http://www.mafiashare.net/download/sound-rock-music-band-wordpress-theme/ when I try to activate it, this show up
( ! ) SCREAM: Error suppression ignored for ( ! ) Fatal error: Cannot re-assign auto-global variable _POST in C:\wamp\www\web\wp-content\themes\soundrock\functions.php on line 48 Call Stack # Time Memory Function Location 1 0.0014 364560 {main}( ) ..\themes.php:0 2 0.0043 433520 require_once( 'C:\wamp\www\web\wp-admin\admin.php' ) ..\themes.php:10 3 0.0048 451648 require_once( 'C:\wamp\www\web\wp-load.php' ) ..\admin.php:30 4 0.0052 463256 require_once( 'C:\wamp\www\web\wp-config.php' ) ..\wp-load.php:29 5 0.0061 553312 require_once( 'C:\wamp\www\web\wp-settings.php' ) ..\wp-config.php:90
so in functions.php on line 48, I removed this code, then the theme is working, but I want to why it's throwing an error?
function events_meta_save($_POST, $post_id) { global $wpdb; if ( empty($_POST["event_social_sharing"]) ) $_POST["event_social_sharing"] = ""; if ( empty($_POST["event_start_time"]) ) $_POST["event_start_time"] = ""; if ( empty($_POST["event_end_time"]) ) $_POST["event_end_time"] = ""; if ( empty($_POST["event_all_day"]) ) $_POST["event_all_day"] = ""; if ( empty($_POST["event_booking_url"]) ) $_POST["event_booking_url"] = ""; if ( empty($_POST["event_address"]) ) $_POST["event_address"] = ""; $sxe = new SimpleXMLElement("<event></event>"); $sxe->addChild('event_social_sharing', $_POST["event_social_sharing"] ); $sxe->addChild('event_start_time', $_POST["event_start_time"] ); $sxe->addChild('event_end_time', $_POST["event_end_time"] ); $sxe->addChild('event_all_day', $_POST["event_all_day"] ); $sxe->addChild('event_booking_url', $_POST["event_booking_url"] ); $sxe->addChild('event_address', $_POST["event_address"] ); $sxe = save_layout_xml($sxe); update_post_meta( $post_id, 'cs_event_meta', $sxe->asXML() ); }