fix(wpmc S5): wrap Redirect get_permalink + safe rest_url replacement

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Vladimir Bryzgalov
2026-05-16 22:40:46 +05:00
parent bd0edfe01f
commit dfcadc5339
3 changed files with 21 additions and 3 deletions
+1 -1
View File
@@ -58,7 +58,7 @@ final class Redirect
if (!$orig_id) {
return;
}
$orig_permalink = \get_permalink($orig_id);
$orig_permalink = Helpers::without_url_filters(static fn () => \get_permalink($orig_id));
if (!is_string($orig_permalink) || $orig_permalink === '') {
return;
}
+8 -2
View File
@@ -16,7 +16,13 @@ final class RestUrlFilter
if ($host === '') {
return $url;
}
$replaced = preg_replace('#^https?://[^/]+#', 'https://' . $host, $url);
return is_string($replaced) ? $replaced : $url;
$parsed = parse_url($url);
if ($parsed === false || empty($parsed['scheme'])) {
return $url;
}
$path = $parsed['path'] ?? '';
$query = isset($parsed['query']) ? '?' . $parsed['query'] : '';
$fragment = isset($parsed['fragment']) ? '#' . $parsed['fragment'] : '';
return 'https://' . $host . $path . $query . $fragment;
}
}