Skip to content Skip to footer navigation
You are reading the docs for an old version of Statamic. Consider upgrading to Statamic 6.

Site Repository

To work with the with Site Repository, use the following Facade:

use Statamic\Facades\Site;

Methods#

Methods Description
all() Get all Sites
get($handle) Get Site by handle
findByUrl($url) Get site by a given URL
current() Returns the current site, determined by the current page URL.
setCurrent($handle) Sets the current site.
selected() Returns the site currently selected in the Control Panel
setSelected($handle) Sets the selected site.
default() Returns the "default site", which will be the first site in the sites config
authorized() Returns a collection of Site objects, where the user is authorized to view the site (see Multisite Permissions).
multiEnabled Returns a boolean indicating if multi-site is enabled.
hasMultiple() Returns a boolean indicating if multiple sites are configured.
setSites($sites) Accepts an array. Allows you to override the configured sites.

Resolving the current site#

When you're using the Site::current() method, sometimes the current page URL will lead to the wrong site being returned (like when using Livewire). In this case, you can use the resolveCurrentUrlUsing to check against a different URL:

// app/Providers/AppServiceProvider.php
use Statamic\Facades\Site;
Site::resolveCurrentUrlUsing(fn () => Livewire::originalUrl());