/** * Register filters for URLs, if we've mapped */ function register_mapped_filters() { $current_site = $GLOBALS['current_blog']; $real_domain = $current_site->domain; $domain = $_SERVER['HTTP_HOST']; if ($domain === $real_domain) { // Domain hasn't been mapped return; } // Grab both WWW and no-WWW if (strpos($domain, 'www.') === 0) { $www = $domain; $nowww = substr($domain, 4); } else { $nowww = $domain; $www = 'www.' . $domain; } $mapping = Mapping::get_by_domain(array($www, $nowww)); if (empty($mapping) || is_wp_error($mapping)) { return; } $GLOBALS['mercator_current_mapping'] = $mapping; add_filter('site_url', __NAMESPACE__ . '\\mangle_url', -10, 4); add_filter('home_url', __NAMESPACE__ . '\\mangle_url', -10, 4); // If on network site, also filter network urls if (is_main_site()) { add_filter('network_site_url', __NAMESPACE__ . '\\mangle_url', -10, 3); add_filter('network_home_url', __NAMESPACE__ . '\\mangle_url', -10, 3); } }