diff --git a/tools/av-fix-header-logo-link.php b/tools/av-fix-header-logo-link.php new file mode 100644 index 0000000..e63a96d --- /dev/null +++ b/tools/av-fix-header-logo-link.php @@ -0,0 +1,65 @@ +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; +});