Я пытаюсь получить список всех идентификаторов домашней страницы для всех сайтов в многосайтовой установке WordPress.Я использую этот код ниже, чтобы сделать это ..
$subsites = get_sites();
foreach ( $subsites as $site ) {
switch_to_blog( $site->blog_id );
$site_data = [
'id' => get_current_blog_id(),
'home_id' => get_option( 'page_on_front' )
];
restore_current_blog();
$sites[] = $site_data;
}
Но я получаю некоторые странные результаты, используя get_option( 'page_on_front' )
.Некоторые идентификаторы возвращаются как строки, другие - как целые числа, а некоторые из них - как ложные.Каждому сайту назначена статическая титульная страница, а в параметре «Страница на лицевой стороне» в отдельных настройках сайта указаны значения.Любые идеи о том, почему я получаю смешанные результаты при попытке получить идентификатор домашней страницы?Или есть другой способ найти идентификатор, отличный от опции get_option( 'page_on_front' )
?
$ сайты dump
array(11) {
[0]=>
array(2) {
["id"]=>
int(1)
["home_id"]=>
string(4) "1862"
}
[1]=>
array(2) {
["id"]=>
int(2)
["home_id"]=>
string(4) "2542"
}
[2]=>
array(2) {
["id"]=>
int(3)
["home_id"]=>
string(3) "905"
}
[3]=>
array(2) {
["id"]=>
int(4)
["home_id"]=>
int(1384)
}
[4]=>
array(2) {
["id"]=>
int(5)
["home_id"]=>
string(2) "13"
}
[5]=>
array(2) {
["id"]=>
int(6)
["home_id"]=>
string(4) "2885"
}
[6]=>
array(2) {
["id"]=>
int(7)
["home_id"]=>
bool(false)
}
[7]=>
array(2) {
["id"]=>
int(8)
["home_id"]=>
bool(false)
}
[8]=>
array(2) {
["id"]=>
int(9)
["home_id"]=>
int(7)
}
[9]=>
array(2) {
["id"]=>
int(10)
["home_id"]=>
string(1) "2"
}
[10]=>
array(2) {
["id"]=>
int(11)
["home_id"]=>
string(1) "5"
}
}