get_by_domain() public static method

Get mapping by domain(s)
public static get_by_domain ( string | array $domains ) : Mapping | WP_Erro\WP_Error | null
$domains string | array Domain(s) to match against
return Mapping | WP_Erro\WP_Error | null Mapping on success, WP_Error if error occurred, or null if no mapping found
Beispiel #1
0
/**
 * 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);
    }
}