get_id_from_blogname() WP 3.0.0

Отримує ID сайту (блогу) за вказаним ярликом (складом): субдоменом або ім’ям директорії.

Працює на основі:
get_sites()

Хуків немає.

Повертає

int|null. ID сайту або null, якщо не вдалося визначити сайт за вказаним ярликом.

Використання

get_id_from_blogname( $slug );
$slug
(рядок) (обов’язковий)

Піддомен або ім’я директорії сайту (підсайту).

У $ slug потрібно вказувати:

  • Слаг піддомену, якщо підсайти це піддомен. Наприклад, blog з blog.site.com .
  • Слаг каталогу, якщо підсайти це каталоги. Наприклад, blog із site.com/blog/ .

Приклади

0

#1 Отримаємо ID сайту мережі за ярликом цього сайту

Допустимо ID шуканого сайту дорівнює 2, тоді:

// сайт може мати наступний домен або шлях, залежить від налаштувань мультисайту:
// blog.site.com
// site.com/blog
get_id_from_blogname( 'blog' ); //> 2

список змін

З версії 3.0.0Введено.
З версії 4.7.0Converted to use get_sites() .

Код get_id_from_blogname() WP 6.0.2

function get_id_from_blogname( $slug ) {
	$current_network = get_network();
	$ slug = trim ($ slug, '/');

	if ( is_subdomain_install() ) {
		$ domain = $ slug . '.' . preg_replace( '|^www.|', '', $current_network->domain );
		$ path = $ current_network-> path;
	} else {
		$domain = $current_network->domain;
		$ path = $ current_network-> path . $ slug . '/';
	}

	$ site_ids = get_sites (
		array(
			'number' => 1,
			'fields' => 'ids',
			'domain' => $domain,
			'path' => $path,
			'update_site_meta_cache' => false,
		)
	);

	if ( empty( $site_ids ) ) {
		return null;
	}

	return array_shift( $site_ids );
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *