Как установить условия для определения подсайта и других критериев?

В header.php сайта, который находится в дочерней теме, совместно используемой корнем и четырьмя другими сайтами в сети (с использованием MU, настроенного в каталогах), мне нужно определить, какой сайт / подсайт отображается, а затем искать другие условные обозначения.

Я видел упоминание get_blog_id_from_url, get_current_site и blog_id как потенциальные методы, некоторые более надежные, чем другие. Какой подход лучше?

Мне в основном нужно следующее (упрощенное):

If site 2, then - if is_single() {echo some code} - elsif is_template() {echo some code} elsif site 3, then - same as above but with different output 

Я по существу придумываю рудиментарный способ реализации условных меню. Плагины, которые я пробовал, не работали, как предполагалось, и я не хочу полагаться на плагин для такой важной функции.

Если бы кто-то мог протянуть руку, чтобы понять это, это было бы очень признательно.

Solutions Collecting From Web of "Как установить условия для определения подсайта и других критериев?"

Вы должны использовать get_current_blog_id() если вам нужны только id и get_blog_details() если вам нужно больше полей.

Имейте в get_current_site что get_current_site фактически предоставляет вам информацию о сети сайтов в объекте WP_Network . Да, это имя путается, как отмечено в Codex, но еще не на документах разработчика:

Примечание. Get_current_site () был унаследован от MU и назван в соответствии с старой терминологией, в которой говорилось о нескольких «блогах» на «сайте». Теперь мы говорим о нескольких «сайтах» в «сети», но некоторые старые термины по-прежнему сохраняются в некоторых именах функций. Эта функция возвращает информацию о текущей сети. Чтобы получить информацию о текущем сайте в сети, см. Get_current_blog_id () и get_blog_details ().

Это было бы так.

 // get current blog id $blog_id = get_current_blog_id(); if ( 2 === $blog_id){ // if site id is 2 //middle part for this case } else { //if is not //middle part for this case }