Помогите с меню Wordpress

antonio83
На сайте с 03.10.2011
Offline
121
295

Здравствуйте уважаемые форумчяни, очень нужна ваша помощь, разобраться с меню Wordpress. Так вот на главной странице и на странице page в сайдбаре должны выводиться только родительские категорий:

Категория1

Категория2

Категория3

Но когда мы переходим по любой из родительских категорий, например Категорий1, то на странице архива должно выводиться меню уже так:

Категория1

Подкатегория1.1

Подкатегория1.2

Подкатегория1.3

Соответственно такое же меню должно быть и при переходе на любую из подкатегорий, думаю ясно.

И еще когда мы открываем любой пост, то на странице single должно быть такое же меню что и в архиве.

В сайдбаре есть код, который на локале как бы выполняет все мои требования, но при переносе на хостинг почему-то меню на странице поста (в single) пропадает вообще. Вероятно, что в коде есть какие-то ошибки или хостинг виноват. Очень нужна ваша помощь помогите разобраться исправить код может. Заранее благодарен. А вот сам код:

<?php if (is_home())

{

echo (wp_list_categories("orderby=name&title_li=&hierarchical=1&depth=1"));

}

?>

<?php

if ( is_category() ) {

$cur_category = get_term_by( 'slug', get_query_var('category_name'),

'category');

$categories = get_categories( array( 'parent' =>

$cur_category->term_id ) );

if (!$categories) $categories = get_categories( array( 'parent' =>

$cur_category->parent ) );

foreach ($categories as $category) {

$res = '<ul><li><a href="'.get_category_link(

$category->term_id ).'">';

$res .= $category->cat_name;

$res .= '</a></li></ul>';

echo $res;

}

}

if ( is_single() ) {

$allowed_cats = array( '14', '15', '41', '42', '48', '10', '19', '22', '20', '23', '12', '13', '17', '45', '21' , '30', '35', '37', '40');

$post_cat = wp_get_post_categories($GLOBALS['post']->ID);

if ( count($post_cat) == 1 && in_array( $post_cat[0], $allowed_cats ) )

{

$cur_category = get_term_by( 'id', $post_cat[0], 'category');

$categories = get_categories( array( 'parent' =>

$cur_category->term_id ) );

if (!$categories) $categories = get_categories( array( 'parent' =>

$cur_category->parent ) );

foreach ($categories as $category) {

$res = '<ul><li><a href="'.get_category_link(

$category->term_id ).'">';

$res .= $category->cat_name;

$res .= '</a></li></ul>';

echo $res;

}

}

}

?>

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий