Skip to content

Fix: give feedback when target url already exists#4

Open
ShunLuk wants to merge 1 commit into
masterfrom
fix/domain-change-not-working
Open

Fix: give feedback when target url already exists#4
ShunLuk wants to merge 1 commit into
masterfrom
fix/domain-change-not-working

Conversation

@ShunLuk

@ShunLuk ShunLuk commented Jul 8, 2026

Copy link
Copy Markdown
Member

No description provided.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds multisite network-admin feedback when attempting to update a site’s URL to a domain/path that is already used by another site, preventing the change and showing an error notice.

Changes:

  • Hook into the network “Edit Site → Site Info” save flow to detect “domain already exists” conflicts.
  • Redirect back to the site info screen with a query flag when the target domain/path is taken.
  • Display a network admin notice explaining that the URL was not changed.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/URLFixer.php
Comment on lines +79 to +92
$scheme = parse_url(get_blog_option($id, 'siteurl'), PHP_URL_SCHEME) ?: 'https';
$newUrl = wp_unslash((string) $_POST['blog']['url']);

if (! parse_url($newUrl, PHP_URL_SCHEME)) {
$newUrl = $scheme . '://' . $newUrl;
}

$parsed = parse_url($newUrl);
$newDomain = $parsed['host'] ?? '';
$newPath = trailingslashit('/' . trim($parsed['path'] ?? '/', '/'));

if (! $newDomain) {
return;
}
Comment thread src/URLFixer.php
return;
}

wp_admin_notice(__('A site with that domain already exists. The URL was not changed.'), [
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants