[Помогите] Sidebar в зависмости от контента

Тема в разделе "Wordpress", создана пользователем deejae, 18 фев 2011.

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

    deejae

    Регистр.:
    22 фев 2009
    Сообщения:
    170
    Симпатии:
    99
    как сделать так что бы в сайдбаре бло написано то что мне нужно в зависмости от контента страницы
    к примеру у меня инфа про телевизоры, то в сайдбаре меню с моделями телевизоров, а если у меня в контенте идет тема про телефоны то и в сайдбаре меню относительно телефонов
     
  2. ksana

    ksana

    Регистр.:
    15 июл 2008
    Сообщения:
    160
    Симпатии:
    15
    Можно привязать вывод в сайдбаре к контенту страницы т.о.:
    выводить в сайдбаре несколько постов из той же рубрики, что и статья, опубликованная на странице.
     
  3. deejae

    deejae

    Регистр.:
    22 фев 2009
    Сообщения:
    170
    Симпатии:
    99
    я не очень понял что тут написано
    но все же решение найдено, даже два
    решение первое:
    Разные сайдбары для записей (постов)
    (условимся, что сайдбары в папке Темы существуют, предназначены для вывода в одном месте лейаута блога и отличаются друг от друга содержимым, пример названий: sidebar.php, sidebar-var2.phpи sidebar-var3.php). См. в кодексе про get_sidebar.
    Находим в файлах Темы вызов сайдбара:
    Код:
       1. <?php get_sidebar(); ?>  
    и заменяем его на:
    Код:
       1. <?php $sidebar = get_post_meta($post->ID, "sidebar", true);  
       2. get_sidebar($sidebar);  
       3. ?>  
    
    Теперь в каждой записи создаете произвольное поле sidebar, а в значение пишете ему часть имени (после sidebar- ) того сайдбара, который хотите показывать при просмотре этой записи: var2или var3. Если у одиночной записи нет произвольного поля sidebar, то выведется сайдбар «по-умолчанию» sidebar.php
    решение второе:
    Наверное вам встречалась ситуация, когда вам нужно было на разных страницах отображать сайдбар разного вида. Например, на главной странице нужно, чтобы выводились последние комментарии и последние посты, а на внутренней странице (в посте) — чтобы отображались популярные публикации, список рекомендуемых ссылок и рекламные баннеры. Такие разные сайдбары на разных страницах поможет создать Sidebar Generator.
    [​IMG][​IMG][​IMG]
    В принципе, все поясняют скриншоты — работа с плагином Sidebar Generator легкая. Создаете столько сайдбаров, сколько душе угодно. После этого настраиваете каждый из них: располагаете виджеты, а если хватает и опыта, то и редактируете CSS каждого сайдбара. После этого открываете любую страницу или любой пост, и выставляете, какой сайдбар использовать. Вы можете использовать в разных постах разные сайдбары. Например, явно рекламный пост можно снабдить дополнительными баннерами в сайдбаре, а пост с интересной темой улучшить релевантными ссылками — постами, похожими по тематике.


    скопипастил все что нашел
     
  4. ksana

    ksana

    Регистр.:
    15 июл 2008
    Сообщения:
    160
    Симпатии:
    15
    Как то слишком сложно это.
    Вот, попробуйте так:


    Вывод в сайтбаре списка статей активной рубрики:

    PHP:
    <?php if (is_category()) { ?>

    <h2>Содержимое рубрики "<?php echo single_cat_title(); ?>"</h2>

    <?php
    $posts_new 
    get_posts("cat=$cat&numberposts=100");
    foreach (
    $posts_new as $post_new) :
        echo 
    '<li class="news_item"><a href="';
        echo 
    get_permalink($post_new->ID);
        echo 
    '">';
        echo 
    mysql2date('j.m.Y',  $post_new->post_date);
        echo 
    ' - ';
        echo 
    $post_new->post_title;
        echo 
    '</a></li>';
    endforeach;   
    ?>
    <?php 
    ?>    
    Еще вариант:
    PHP:
    <?php if ( is_category('priroda')) { ?>   
       Нужный контент

    <?php } elseif ( is_category('gorod')) { ?>
      Нужный контент

    <?php } elseif ( is_category('selo') ) { ?>
      Нужный контент

    <?php } else { ?>
      Нужный контент
    <?php ?>
    Все это, естественно, помещаете в сайдбар.
    Название категорий меняете на свои.

    Аналогично можно написать условие для вывода на страницах записей.
     
Статус темы:
Закрыта.