не могу найти, уже на форуме это выкладывалось
старницы с вложенностью в 3 уровня
для третьеро уровня нужно узнать ид бабушки
я так полагаю если с помошью этого $post->post_parent; можно узнать ид ролителя(2 уровень ) и записать его в какую нить переменную, а потом как то повторить проверку родителя(1 уровня) для полученно значения, но вот как?
кто подскажет?
В цикле, пока не ноль. Тогда пофигу какой уровень.
Вот нашел на помойке для рубрик вывод имени прародителя.
$cc = get_category($cat);
while ($cc->category_parent) $cc = get_category($cc->category_parent);
echo $cc->cat_name;
сие дело привел к
$cc = get_post($post);
while ($cc->post_parent) $cc = get_post($cc->post_parent);
print $cc;
пока результата 0, print $cc; выводит Object
что то этот Object представляет из себя не знаю
идешник нужен для условия (is_page(‘4′) || $post->post_parent==’4’)
пробую вот это
$print29 = $post->post_parent;
print $print29;
получаю ид родителя, по идее если этоже выполнить с полученным ид ролителя должен получиться ид следующего, но что то ничего не выходит
$print30 = $print29->post_parent;
print $print30;
но что то ничего не выходит
Объекты и массивы выводятся при помощи print_r() или var_dump(), print – только для скаляров.
$cc = get_post($post); – ошибка. $post – объект, а не число. Попробуйте заменить на $cc = $post;
print_r($post) столько инфы в нем, я аж офигел ненадолго
да все работает, но работает только при условии если искомая страница является самой первой в этой тройке, а если их там 4 или 5 уровней всеравно выведет самую первую
$cc = $post;
while ($cc->post_parent) $cc = get_post($cc->post_parent);
в условии использовать $cc->ID
обьект страницы имеет свойство "ancestors" именно оно и хранит всех радителей.
Зато сколько нового можно узнать! 🙂
ага экспириенс сразу поднялся,
вот еще бы понять почему в станице(page) используется get_post
хотя есть get_page
почему так?
ps. сравнивать буду потом
Разница в поведении при отсутствующих параметрах.
function &get_page(&$page, $output = OBJECT, $filter = ‘raw’) {
if ( empty($page) ) {
if ( isset( $GLOBALS[‘page’] ) && isset( $GLOBALS[‘page’]->ID ) ) {
return get_post($GLOBALS[‘page’], $output, $filter);
} else {
$page = null;
return $page;
}
}
$the_page = get_post($page, $output, $filter);
return $the_page;
}