get_var($wpdb->prepare( "SELECT meta_value FROM {$wpdb->postmeta} WHERE post_id=%d AND meta_key=%s LIMIT 1", 25, $key )); if (! is_string($val) || $val === '') { echo " $key : (empty, skip)\n"; continue; } $is_json = ($val[0] === '['); $elements = $is_json ? json_decode($val, true) : @unserialize($val); if (! is_array($elements)) { echo " $key : (not parseable, skip)\n"; continue; } $modified = false; foreach ($elements as $i => $el) { if (($el['id'] ?? '') === 'hdrlgo') { $elements[$i]['settings']['link'] = [ 'type' => 'external', 'url' => '/', ]; $modified = true; break; } } if ($modified) { $new = $is_json ? wp_json_encode($elements) : maybe_serialize($elements); $wpdb->update($wpdb->postmeta, ['meta_value' => $new], ['post_id' => 25, 'meta_key' => $key], ['%s'], ['%d', '%s']); wp_cache_delete(25, 'post_meta'); $patched++; echo " $key : hdrlgo patched (link.url=/)\n"; } else { echo " $key : hdrlgo not found\n"; } } echo "\nDONE. $patched meta key(s) patched.\n"; echo "Reload any page → click 'ASTERION VR' in header → should go to /.\n"; exit; });