настроить для каждой категории свой шаблон category-1.php, category-2.php и т.д.
либо в одном шаблоне category.php написать код пхп, который будет выводить нужную картинку в зависимости от выбранной категории.
Вставь в header.php такой код
<?php { ?>
<img src="<?php bloginfo(‘template_url’); ?>/images/header_<?php the_category_ID(); ?>.jpg" />
<?php } ?>
Где
1. картинки лежать будут в папке images темы
2. Название их начинается с header_… т.е. вида header_ID.jpg, где ID – ид категории
Но иконка не показывается в том месте где надо (как на фото). Мало того иконку вообще не видно. Просто кубик с надписью "Рисунок".
Просветите пожалуйста.
Спасибо.
26.03.2008 13:06
Ответить
0
То что хотите вы и что хочет topic-starter, это совсем разные вещи.
Человек, начавший тему, хочет одну картинку на всю категорию. Типа заголовок, логотип и так далее, вы же хотите картинки к каждой категории, которые вы выводите через wp_list_cats. Это две разные вещи, и реализуются абсолютно различно.
В вашем случае проще прописать все вручную, весь блок в смысле.
26.03.2008 13:13
Ответить
0
Я бы делал по-другому. Смотрим код страницы, где список категорий, и видим там нечто такое:
<li class="cat-item cat-item-1"><a href="…
<li class="cat-item cat-item-3"><a href="…
Обращаем особое внимание на cat-item-1 и cat-item-3. Это уникальные классы для категорий. А дальше в style.css делаем типа
.cat-item {padding-left: 10px;}
.at-item-1 {background: url(‘images/cat-1.gif’) left no-repeat;}
.at-item-3 {background: url(‘images/cat-3.gif’) left no-repeat;}
26.03.2008 13:20
Ответить
0
Да, вариант получше. У автора cat-item cat-item-1 выводится, что не всегда встречается 🙂
26.03.2008 13:52
Ответить
0
Кстати, а почему не всегда?
26.03.2008 13:55
Ответить
0
<?php wp_list_categories(‘&title_li=’); ?> например
26.03.2008 14:15
Ответить
0
А вот и не факт.
26.03.2008 14:21
Ответить
0
А покажите пример. Вот мой – demeu-magazin.kz, там через <?php wp_list_categories(‘&title_li=’); ?> сделано 🙂
Систему понял. Все работает. Но вот немного не на месте стоит иконка. Можете посмотреть. Как подвинуть ее немного левее? Или может я размер неправильный выбрал? Сейчас размер иконки 16*16. Если сделать меньше – очень маленькая будет…
26.03.2008 14:48
Ответить
0
Могу еще одного недоделка с классами показать. 🙂 Взялся понятно откуда – из класса Walker_Category:
Как я понял padding – это сдвиг строки категории.
А как увеличить расстояние между категориями? Т.е. нужно чтобы между строчками было больше места. Хочу чуть-чуть побольше иконки сделать – но верх и низ режет…
Подниму старую тему 🙂
Встала та же проблема – сделать разные шапки, но <img src="<?php bloginfo(‘template_url’); ?>/images/header_<?php the_category_ID(); ?>.jpg" /> не подходит. Есть подозрение что the_category_ID в WordPress 2.7.1 нужно чем то заменить, т.к. функция устарела. А чем?
Всем спасибо заранее.
27.04.2009 10:47
Ответить
0
Есть подозрение что the_category_ID в WordPress 2.7.1 нужно чем то заменить, т.к. функция устарела. А чем?
Всем спасибо заранее.
Она устарела гораздо раньше 🙂 Вот почитайте http://mywordpress.ru/support/viewtopic.php?pid=40412
Из кодекса, в приведенной Вами же ссылке
<img src="<?php the_category_ID(); ?>.gif" />
, где в результате получим код
Код:
<img src="номер рубрики, в которой находимся.gif">
И это работает на версии 2.7.1, значит не так уж и безбожно утсрело :)
У меня на 2.7.1 не работает. В кодексе http://codex.wordpress.org/Template_Tags/the_category_ID написано, что она устарела, а чем ее заменить, нет. Ю.Б., разжуйте, а? 🙂
27.04.2009 11:18
Ответить
0
🙂 А там ближе к концу есть такой кусочек кода: …&child_of=’.$cat);… Вот это и нужно было заметить и заюзать как <img src="/<= $cat ?>.gif" />. Но это только для страниц рубрик. Для постов сложнее, т.к. пост может быть более чем в одной рубрике. Пишем тогда что-то типа такого:
$cats = get_the_category(); // получить список рубрик
$cato = $cats[0]; // получить первую попавшуюся
$cat = $cato->cat_ID; // получаем ID этой рубрики
Хм, все равно не отдает картинку, а в исходном коде показывает <img src="images/header-.jpg" />
С путями все нормально 🙁
27.04.2009 11:37
Ответить
0
С путями тоже не нормально, во избежание недоразумений надо делать абсолютные пути от корня. images/img.jpg допустимы только в CSS, т.к. он считает относительные относительно себя, а не страницы.
$cat, конечно, недокументированная переменная, но до сих пор у меня везде срабатывала. А у Вас это хозяйство прямо в шаблоне или через функцию вызывается? Если через функцию, то стоит попробовать добавить global $cat;.
А header.php подключается через get_header(); Вот и функция. В php переменные, определенные снаружи функции, не видны внутри. Чтобы до них дотянуться, нужно использовать global.
Господа, ну подскажите – какая переменная должна быть 🙂 the_category_ID не работает (ибо устарела)
$cat отдает пустой лист
global $cat; пишет syntax error, unexpected T_GLOBAL
настроить для каждой категории свой шаблон category-1.php, category-2.php и т.д.
либо в одном шаблоне category.php написать код пхп, который будет выводить нужную картинку в зависимости от выбранной категории.
легко……… например внутри папки shapka находятся картинки для хеадера….
в зависимости от ID категории можно поменять картинки таким образом:
———
P.S. главное чтоб ты знал ID категорий и дал цифровое название своим гифам относительно категорий.
Не получается, просто появляется крестик, как будто картинку не видит, вроде бы все правильно делаю, а есть еще способы?
Есть. Прописать картинкам корректные пути.
пошевели своими серыми клетками…. и введи свой путь к картинам правильно!!!!
Вставь в header.php такой код
<?php { ?>
<img src="<?php bloginfo(‘template_url’); ?>/images/header_<?php the_category_ID(); ?>.jpg" />
<?php } ?>
Где
1. картинки лежать будут в папке images темы
2. Название их начинается с header_… т.е. вида header_ID.jpg, где ID – ид категории
Привет.
Хочу у себя на сайте http://fotoset.net/ поставить иконку возле каждой рубрики.
Вот пример:
Но ничего не получается. Я создал иконку header_5.gif b и скопировал ее в папку images моей темы.
Поставил следующий код в sidebar.php :
<?php { ?>
<img src="<?php bloginfo(‘template_url’); ?>/images/header_5<?php
the_category_ID(5); ?>.gif" />
<?php } ?>
Но иконка не показывается в том месте где надо (как на фото). Мало того иконку вообще не видно. Просто кубик с надписью "Рисунок".
Просветите пожалуйста.
Спасибо.
То что хотите вы и что хочет topic-starter, это совсем разные вещи.
Человек, начавший тему, хочет одну картинку на всю категорию. Типа заголовок, логотип и так далее, вы же хотите картинки к каждой категории, которые вы выводите через wp_list_cats. Это две разные вещи, и реализуются абсолютно различно.
В вашем случае проще прописать все вручную, весь блок в смысле.
Я бы делал по-другому. Смотрим код страницы, где список категорий, и видим там нечто такое:
<li class="cat-item cat-item-1"><a href="…
<li class="cat-item cat-item-3"><a href="…
Обращаем особое внимание на cat-item-1 и cat-item-3. Это уникальные классы для категорий. А дальше в style.css делаем типа
.cat-item {padding-left: 10px;}
.at-item-1 {background: url(‘images/cat-1.gif’) left no-repeat;}
.at-item-3 {background: url(‘images/cat-3.gif’) left no-repeat;}
Да, вариант получше. У автора cat-item cat-item-1 выводится, что не всегда встречается 🙂
Кстати, а почему не всегда?
<?php wp_list_categories(‘&title_li=’); ?> например
А вот и не факт.
А покажите пример. Вот мой – demeu-magazin.kz, там через <?php wp_list_categories(‘&title_li=’); ?> сделано 🙂
_http://zhuki.kharkov.ua/
<li><h2>Categories</h2>
<ul>
<?php wp_list_categories(‘&title_li=’); ?>
</ul>
</li>
🙂
А на моем официальном блоге действительно нет классов. Грешу на версию.
Странно, погонял на локалхосте, откуда у Жуков взялся класс не понимаю 🙂 Грешил на вложенность, но дело не в ней. Есть зацепка?
Систему понял. Все работает. Но вот немного не на месте стоит иконка. Можете посмотреть. Как подвинуть ее немного левее? Или может я размер неправильный выбрал? Сейчас размер иконки 16*16. Если сделать меньше – очень маленькая будет…
Могу еще одного недоделка с классами показать. 🙂 Взялся понятно откуда – из класса Walker_Category:
А вот "потерять" классы на локальном так и не удалось.
Fotoset, мучайте margin и padding пока иконки на место не станут.
"Мучайте", можно говорить если я не знаю как это сделать. Скажите Вы пожалуйста. Если я не узнаю тут – узнаю на другом форуме : )
.cat-item {padding-left: 20px; margin-left: 0px;}
Вот эти цифры и можно менять туда-сюда.
Мне уже страшно.
Спасибо. Вы настоящий профи.
А вот фрагмент classes.php, аналогичный приведенному выше, но от 2.2.3
Как видите, кое-чего не хватает.
PS Странно, что ж за гибрид у меня стоял на локале под маркой 2.2.3, если у него это место такое же, как у 2.3? Чудеса да и только.
{padding-left: 20px; margin-left: 0px;}
Как я понял padding – это сдвиг строки категории.
А как увеличить расстояние между категориями? Т.е. нужно чтобы между строчками было больше места. Хочу чуть-чуть побольше иконки сделать – но верх и низ режет…
line-height: 500px;
Еще один профи 🙂 Сенкю 😉
Хух… Сделал… Оцените: http://fotoset.net/
На всякий случай. padding и margin бывают не только left, но и в другие стороны. Почитайте матчасть, оно не раз еще пригодится.
PS Шутку юмора – иконку от Джумлы с подписью "Спорт" – заценил. 😀
Подниму старую тему 🙂
Встала та же проблема – сделать разные шапки, но <img src="<?php bloginfo(‘template_url’); ?>/images/header_<?php the_category_ID(); ?>.jpg" /> не подходит. Есть подозрение что the_category_ID в WordPress 2.7.1 нужно чем то заменить, т.к. функция устарела. А чем?
Всем спасибо заранее.
Она устарела гораздо раньше 🙂 Вот почитайте http://mywordpress.ru/support/viewtopic.php?pid=40412
Это я почитал уже 🙂 Но там парень пишет что
У меня на 2.7.1 не работает. В кодексе http://codex.wordpress.org/Template_Tags/the_category_ID написано, что она устарела, а чем ее заменить, нет. Ю.Б., разжуйте, а? 🙂
🙂 А там ближе к концу есть такой кусочек кода: …&child_of=’.$cat);… Вот это и нужно было заметить и заюзать как <img src="/<= $cat ?>.gif" />. Но это только для страниц рубрик. Для постов сложнее, т.к. пост может быть более чем в одной рубрике. Пишем тогда что-то типа такого:
$cats = get_the_category(); // получить список рубрик
$cato = $cats[0]; // получить первую попавшуюся
$cat = $cato->cat_ID; // получаем ID этой рубрики
Хм, все равно не отдает картинку, а в исходном коде показывает <img src="images/header-.jpg" />
С путями все нормально 🙁
С путями тоже не нормально, во избежание недоразумений надо делать абсолютные пути от корня. images/img.jpg допустимы только в CSS, т.к. он считает относительные относительно себя, а не страницы.
$cat, конечно, недокументированная переменная, но до сих пор у меня везде срабатывала. А у Вас это хозяйство прямо в шаблоне или через функцию вызывается? Если через функцию, то стоит попробовать добавить global $cat;.
Хозяйство прямо в шаблоне – в header.php
Абсолютный путь ничего не дал 🙁
А header.php подключается через get_header(); Вот и функция. В php переменные, определенные снаружи функции, не видны внутри. Чтобы до них дотянуться, нужно использовать global.
Подставил global, все равно нет картинки а в исходниках …/header-.jpg 🙁
Кто нибудь знает как на форуме удалить свою запись? Написал не в тот топик.
Этот тоже можно удалить =)
Господа, ну подскажите – какая переменная должна быть 🙂 the_category_ID не работает (ибо устарела)
$cat отдает пустой лист
global $cat; пишет syntax error, unexpected T_GLOBAL
Может за денежку кто поможет?
можно еще посмотреть что у нас тут: global $wp; print_r($wp);
p.s. но это брутальный способ…