让我们建立基线:可以在example-domain-x.com中拥有主站点,在example-domain-y.com中拥有所有子网站子域。您只需添加子域1。example-domain-y.com(或subdomain2.example-domain-y.com,subdomain3.example-domain-y.com)希望您在域映射面板中添加裸域或www域(URL包含wp-admin/network/settings.php?page=dm_domains_admin
).
要以编程方式实现相同的功能,可以将函数挂接到
wp_normalize_site_data
筛选并更改数据数组中的域。
add_filter(\'wp_normalize_site_data\',\'wpse38196_wp_modify_domain_new_site\');
function wpse38196_wp_modify_domain_new_site($data){
// $data is an array, the same from wp_insert_site. See https://developer.wordpress.org/reference/functions/wp_insert_site/
$original_domain = $data[\'domain\'];x§
$data[\'domain\'] = str_replace(\'mymainsite.com\', \'subdomains.com\', $data[\'domain\']);
return $data;
}
我假设您知道,但在任何情况下,您还需要在HTTP服务器(即apache、nginx)、任何反向代理(例如nginx、Varnish、Cloudflare)和DNS服务器中设置新的域和SSL证书。这可能更难按程序进行,包括因为执行步骤会根据设置进行更改。