$cat = get_category(get_query_var('cat'),false); // получение полной информации
$cat_id = $cat->term_id; // ID текущщей категории
$cat_parent = $cat->parent; // получение ID родительской категории (на один уровень выше)
function get_idparentcat($cat_parent, $cat_id){
if( $cat_parent == 0 )
{
echo $cat_id;
}
else
{
echo $cat_parent;
}
}
<?php get_idparentcat($cat_parent, $cat_id); ?>
Если захожу в самсунг или айфон то функция отдает мне id категории (телефоны), так и должно быть. Дальше с помощью этого id я вывожу logo, название, url и прочее, что присущее категории (телефоны).(Всё это нужно для типа кнопки "назад")
Но если же я зайду на категорию (телефоны), то переменная $cat->parent; мне выдала бы 0, т.к это самый верх (родителей уже нет). Для этого здесь и нужна функция (get_idparentcat) для проверки относительно этого самого 0. Ведь если я оставлю 0, то скрипт мне не сможет вывести logo, название, url и прочее, так как такой категории с id 0 просто не существует. После того как функция проверит $cat->parent относительно того, что данная переменная равна 0, то она отдаст нам $cat_id по этому же условию. И дальше я получаю всю инфу о данной категории.
Как-то так, возможно что-то непонятно. Или странно реализовано и можно это сделать лучше. Но всё я думаю зависит от: контекста поставленной задачи, где это будет работать, что-ли. Будем больше узнавать php - будем улучшать скрипты.