[Помогите] Индивидуальное меню на каждой странице...

Тема в разделе "Wordpress", создана пользователем SAngel, 15 ноя 2009.

Статус темы:
Закрыта.
Модераторы: Sorcus
  1. SAngel

    SAngel Постоялец

    Регистр.:
    7 апр 2006
    Сообщения:
    113
    Симпатии:
    22
    Вопрос в следующем!
    На каждой из страниц потребовалось индивидуальное меню, с выводом опять же индивидуальных категорий.
    Вопрос с написанием шаблонов в page.php решил, написание sidebar.php тоже, т.е. в кадом разделе подлючается свой сайдбар со своим виджетом, для реализации древа меню использовался navigator.

    Дальше сложнее... Имеется следующий файл single.php вывод инфы идет уже в него, т.е. подключение только какого то конкретного sidebar.php

    Либо <?php include(TEMPLATEPATH . '/sidebar2.php'); ?> либо <?php get_sidebar(); ?>

    Как сделать чтобы на каждой странице вывод инфы из конкретных категорий при этом меню из подключаемого sidebar.....php было индивидуальным?

    Объяснил ,как смог... сорри...
     
  2. detonix

    detonix Прохожие

    добавь кондишн например с части $_SERVER['REQUEST_URI'] и функцию из functions.php, которая будет отдавать разное меню
     
  3. SAngel

    SAngel Постоялец

    Регистр.:
    7 апр 2006
    Сообщения:
    113
    Симпатии:
    22
    Сейчас пытаюсь победить use_parent_category_template_plus
    но как то вяло тоже(((

    А можете на примере свой вариант? У меня с php не очень, нагляднее проще понять будет.

    Мега спасибо!
     
  4. xbreaker

    xbreaker Вверх ногами

    Регистр.:
    15 авг 2007
    Сообщения:
    245
    Симпатии:
    52
    а таких индивидуальных страниц очень много? может стоит юзать один sidebar.php но добавить туда условных тегов? is_category, in_category, is_single - с помощью них можно реализовать что угодно
     
  5. SAngel

    SAngel Постоялец

    Регистр.:
    7 апр 2006
    Сообщения:
    113
    Симпатии:
    22
    Страниц по сути не много! Написал под каждый раздел page.php и sidebar.php где в сайд баре подключаются свои виджеты, но далее начинается затык! Припереходе например на раздел категории, в шаблон посты никак не хотят встраиваться(((( т.е. начинают юзать single.php а он соответственно один можно сделать несколько, но как указать обращение на вывод к конкретному файлу сингл?

    попробовал юзать use_parent_category_template_plus

    с одним разделом вродебы прокатило! код ниже, но как размножить на другие разделы в этом же коде никак не соображу, методом тыка все вроде бы перепробовал.. отрубается шаблон напрочь...

    <?php
    add_action('template_redirect', 'use_parent_category_template');
    function use_parent_category_template() {
    global $cat, $posts;
    if (is_category():(
    $category = get_category($cat);
    while ($category->cat_ID) {
    if ( file_exists(TEMPLATEPATH . "/category-2" . $category->cat_3 . '.php') ) {
    include(TEMPLATEPATH . "/category-2" . $category->cat_3 . '.php');
    exit;
    }

    $category = get_category($category->category_parent);
    }

    elseif (is_single()) :
    $post = $posts[0];
    $categories = get_the_category($post->ID);

    if (count($categories)) foreach ( $categories as $category ) {
    while ($category->cat_ID) {
    if ( file_exists(TEMPLATEPATH . "/single-2.php" . $category->cat_3 . '.php') ) {
    include(TEMPLATEPATH . "/single-2.php" . $category->cat_3 . '.php');
    exit;
    }
    elseif ( file_exists(TEMPLATEPATH . "/category-2" . $category->cat_3 . '.php') ) {
    include(TEMPLATEPATH . "/category-2" . $category->cat_3 . '.php');
    exit;
    }
    $category = get_category($category->category_parent);
    }

    }
    endif;
    }
    ?>
     
  6. xbreaker

    xbreaker Вверх ногами

    Регистр.:
    15 авг 2007
    Сообщения:
    245
    Симпатии:
    52
    SAngel, ты заведомо пошел неверным путем - не нужны тебе кучи файлов single.php и sidebar.php, все можно реализовать в одном через условные теги. Давай на примерe:

    пример, sidebar.php, нам нужны три его вида для поста с ID 1 и ID 2, а так же для страниц с ID 3,5,7,8. Виды мы обзовем content1, content2 и content3, тогда получим:

    PHP:
    <?php if (is_single('1')) : //показываем что должна быть открыта первая страница ?>
    content1 //твое содержимое
    <?php elseif (is_single('2')) : ?>
    content2
    <?php elseif (is_page(array(3,5,7,8))) : // условия страниц ?>
    content3
    <?php endif; ?>
    вот и все, если нам нужны разные меню для категории то юзаем is_category, если нужно отдельное меню для страниц из категории с ID 5, то чтобы не перечислять их всех, юзаем тег in_category('5')


    Думаю после этого разберешься как быть ;)
     
    Eremkin нравится это.
  7. SAngel

    SAngel Постоялец

    Регистр.:
    7 апр 2006
    Сообщения:
    113
    Симпатии:
    22
    ничего толком не получается(( может кто-то просто тупо сделает как надо за денежку?!:)
     
Статус темы:
Закрыта.