Проверить, есть ли у записи дочерние страницы или нет
15 окт. 2017 г., 23:29:56
Просмотры: 13.5K
Голосов: 4
Мне нужен код, чтобы определить, есть ли у записи дочерние страницы или нет.
К сожалению, я пока не нашел подходящего решения, поэтому любая идея будет полезна.
Что я хочу достичь:
if has child
// какие-то действия
else:
// другие действия
Сейчас я использую:
$args = array(
'post_parent' => get_the_ID(), // ID текущей записи
);
$children = get_children( $args );
// Проверяем, есть ли у записи дочерние элементы
if ( ! empty($children) ) {
// У записи есть хотя бы одна дочерняя страница
echo 'да';
} else {
// У этой записи нет дочерних страниц
echo 'нет';
}
Но любая запись с миниатюрой возвращает "да", а если использовать post_type=post
в аргументах, все записи возвращают "нет", даже если у них есть дочерние страницы.

adnan
323
Комментарии
Все ответы на вопрос
1
0
Вы можете сначала попытаться получить список дочерних записей поста. Если возвращаемое значение пустое, значит у поста нет дочерних записей. Вот как это можно сделать:
$args = array(
'post_parent' => get_the_ID(), // ID текущего поста
);
$children = get_children( $args );
// Проверяем, есть ли у поста дочерние записи
if ( ! empty($children) ) {
// У поста есть хотя бы одна дочерняя запись
} else {
// У этого поста нет дочерних записей
}

Johansson
15.4K
16 окт. 2017 г. 00:53:09
Похожие вопросы
3
ответов