Master-X
Форум | Новости | Статьи
Главная » Форум » Блоги и Социальные сети » 
Тема: WP, разные линки в разных категориях. Можно?
цитата
26/11/08 в 15:48
 borgivan
Здравствуйте, уважаемые знатаки ВордПреса. Скажите пожалуйста, можно ли в нём сделать в разных категориях в блогроле были разные ссылки а не одинаковые, заданные в админке? То есть например в категорию лесбиянок я перелинковывал с лесбийскими сайтами, матюрную - с матюрными. Ну а главная страница - все вместе. Можно ли это сделать без плагина, а если с плагином, то подскажите с каким?
цитата
26/11/08 в 17:50
 mBerk
borgivan писал:
Здравствуйте, уважаемые знатаки ВордПреса. Скажите пожалуйста, можно ли в нём сделать в разных категориях в блогроле были разные ссылки а не одинаковые, заданные в админке? То есть например в категорию лесбиянок я перелинковывал с лесбийскими сайтами, матюрную - с матюрными. Ну а главная страница - все вместе.


копай в сторону Conditional Tags
_http://codex.wordpress.org/Conditional_Tags
цитата
26/11/08 в 18:25
 koshe
Можно без плагина..
Код:
<?php if ( is_home() ) { ?>
здесь блок с ссылками для главной
<?php } ?>

Код:
<?php if(is_category()) { ?>
здесь блок с ссылками во всех категориях
<?php } ?>

Код:
<?php if(is_category('1')) { ?>
здесь блок с ссылками для категории 1
<?php } ?>

и т.д.

так же можно для страниц и для постов, соответственно ставишь page или single
цитата
26/11/08 в 19:14
 LOVE
koshe оптимально сказал под эту задачу.
вообще можно сайдбар уникальный полностью транслировать в каждой категории, а не только ссылки, если надо.
цитата
26/11/08 в 19:45
 Corex
Чтобы чётко по категориям разбить, то вот таким способом можно без плагина по заголовкам категорий, т.к. ID посмотреть не всегда можно:

Код:
<?php if (single_cat_title('', false) == 'Lesbians') : ?>

<a href="1">Link 1</a>

<?php elseif (single_cat_title('', false) == 'Matures') : ?>

<a href="2">Link 2</a>

<?php else : ?>

<a href="3">Link 3</a> <!-- вариант по-умолчанию, можно не использовать -->

<?php endif; ?>
цитата
26/11/08 в 22:10
 borgivan
Всем отписавшимся спасибо, по максимуму рейтинг (из каждого что то взял). Опишу как сделал. Значит я создаю категорию ссылок с тем же названием что и категория блога. В эту категорию ссылок добавляю только ссылки которые нужны для данной категории. В шаблоне использовал следущий код:
Код:

<?php
  if (is_home())
  {
    get_linksbyname('', '<li>', '</li>', '', FALSE, '_rand', FALSE);
  }
  else
  {
    get_linksbyname(single_cat_title('', false), '<li>', '</li>', '', FALSE, '_rand', FALSE);
  }
?>

Вместо стандартного:
Код:

<?php get_links_list(); ?>

В темплейте получилось следуще (что бы было понятно, для чего я использовал в функции закрывающие и открывающие тэги <li>, </li>):
Код:

<div class="blogroll">
<h2>Friendly Sites</h2>
<ul>
<?php
  if (is_home())
  {
    get_linksbyname('', '<li>', '</li>', '', FALSE, '_rand', FALSE);
  }
  else
  {
    get_linksbyname(single_cat_title('', false), '<li>', '</li>', '', FALSE, '_rand', FALSE);
  }
?>
</ul>
</div>


Результат (сразу оговорюсь что по всей видимости код очень сырой и возможно дополнять его по желанию, но мне лично в принципе хватило):
Если страница главная - выводятся ВСЕ ссылки которые созданы в админке (не зависимо от категории ссылок). Если открыта страница категории и название категории совпадает с категорией ссылок, то выводятся только ссылки это категории ссылок. Если нет совпадения (такой ссылочной категории нет) то опять же выводятся все существующие ссылки.
Ещё раз спасибо, вы очень помогли.


Эта страница в полной версии