Есть такая вот задачка:
есть пост который относиться к трем категориям сразу – Кат1 , Кот2 , Кит3 (эти категории являются субкатегориями разделов. При добавлении постов ставиться галочка только на дочерние категории, а на родительский раздел галочка не ставиться)
Структура разделов и категорий такова Раздел1 -- Кат1 -- Кат2 -- Кат3 ............. Разел2 -- Кот1 -- Кот2 -- Кот3 ............. Раздел3 ............. -- Кит1 -- Кит2 -- Кит3
пользуясь функцией <?php the_category(‘, ‘) ?> категории выводяться хаотично то Кат1 , Кот2 , Кит3 ………. то Кат1 , Кит3 , Кот2….. Кит3 , Кат1 , Кот2 …. итд
как мне самому сделать так чтоб эти категории выводились в том порядке или же так как я хочу???…….
[quote]Ну например
1) что бы во всех постах выводился только такой порядок : Кат1 , Кит3 , Кот2.
или же
2) Выводить поотдельности : пост относиться к -> Тип – Кат1 , Параметр – Кит3 , Размер – Кот2[/quote]
а можно ли как то данные функции the_category(‘, ‘) превратить в массив а из него уже выводить поотдельности категории так как я захочу?
может какой нибудь фильтр , хук поможет???
add_filter(‘the_category’, ‘your_function’);
как быть?? что делать???
Плагин mycategoryorder не помогает?
нет он имеет дело с категориями для вывода в сайдбаре….. а я имею в виду под постом….
[quote]<div class="clearboth"></div> <br />
<!–read more–>
<div style="text-align: justify;"> <?php the_content(); ?></div>
<!–Post Meta–>
<div class="post-bottom">
<div class="cat"><span><?php the_category(‘, ‘) ?></span></div>
<div class="clearfix"></div>
</div>[/quote]
этот <?php the_category(‘, ‘) ?> я так понял выводит названия категорий по алфавиту …. а нужно чтоб выводил по желанию…. по строго указанному типу!!!….
Ю.Б. очень нужна твоя помощь…… как тут мне быть?
Скорее всего, хакать придется. Бегло глянул, похоже, что в category-template.php в функции get_the_category нужно usort($categories, ‘_usort_terms_by_name’); поменять на _usort_term_by_order и добавить свою функцию по образу и подобию _usort_terms_by_name, только использовать не name, а order. Ну и MyCategoryOrder тоже задействовать, он эти самые ордеры проставляет.
Извини, глубже копать не могу, еще не поборол фирмаварь радиоэзернета – глупый пингвин ругается на флешивую файловую систему.
это как-то надо решить…… я тут думаю о массивах..
Ю.Б., есть идея но нужна твоя помощь …
я в лупе пишу следующее
получаю следующее:
[quote]Array ( [0] => stdClass Object ( [term_id] => 23 [name] =>Кат1 [slug] => baz [term_group] => 0 [term_order] => 0 [term_taxonomy_id] => 23 [taxonomy] => category [description] => [parent] => 69 [count] => 1 [object_id] => 66 [cat_ID] => 23 [category_count] => 1 [category_description] => [cat_name] => Кат1 [category_nicename] => baz [category_parent] => 69 ) [1] => stdClass Object ( [term_id] => 185 [name] => Кат2 [slug] => ba-bpol-2 [term_group] => 0 [term_order] => 0 [term_taxonomy_id] => 185 [taxonomy] => category [description] => [parent] => 182 [count] => 1 [object_id] => 66 [cat_ID] => 185 [category_count] => 1 [category_description] => [cat_name] => Кат2 [category_nicename] => ba-bpol-2 [category_parent] => 182 ) [2] => stdClass Object ( [term_id] => 152 [name] => Кат3[slug] => xa-fpol-16 [term_group] => 0 [term_order] => 0 [term_taxonomy_id] => 152 [taxonomy] => category [description] => [parent] => 135 [count] => 1 [object_id] => 66 [cat_ID] => 152 [category_count] => 1 [category_description] => [cat_name] => Кат3 [category_nicename] => xa-fpol-16 [category_parent] => 135 ) )[/quote]
где 69, 135, 182 — это айпи родительский категорий.
Решение такое… если можно было бы взять в отдельности или управлять этими данными массива
[quote][0] => stdClass Object ( [term_id] => 23 [name] =>Кат1 [slug] => baz [term_group] => 0 [term_order] => 0 [term_taxonomy_id] => 23 [taxonomy] => category [description] => [parent] => 69 [count] => 1 [object_id] => 66 [cat_ID] => 23 [category_count] => 1 [category_description] => [cat_name] => Кат1 [category_nicename] => baz [category_parent] => 69 ) [/quote]
[quote][1] => stdClass Object ( [term_id] => 185 [name] => Кат2 [slug] => ba-bpol-2 [term_group] => 0 [term_order] => 0 [term_taxonomy_id] => 185 [taxonomy] => category [description] => [parent] => 182 [count] => 1 [object_id] => 66 [cat_ID] => 185 [category_count] => 1 [category_description] => [cat_name] => Кат2 [category_nicename] => ba-bpol-2 [category_parent] => 182 )[/quote]
[quote] [2] => stdClass Object ( [term_id] => 152 [name] => Кат3[slug] => xa-fpol-16 [term_group] => 0 [term_order] => 0 [term_taxonomy_id] => 152 [taxonomy] => category [description] => [parent] => 135 [count] => 1 [object_id] => 66 [cat_ID] => 152 [category_count] => 1 [category_description] => [cat_name] => Кат3 [category_nicename] => xa-fpol-16 [category_parent] => 135 ) [/quote]
то можно было бы поставить их так чтобы всегда первая родительская была бы 69 вторая 135 и третья 135….
как управлять ими если в руках у нас объекты???
осталось совсем ничего… но вот что-то дальше у меня тормозят идеи…….. Ю.Б., дальше что можно сделать???
Напиши свой sort. Не знаю. Я окончательно убил железку, а потому думать не могу совсем.
благодаря подсказке Ю.Б. решилась эта проблема простым способом:
составив новую функцию
и заменив сортировку
мы получаем сортировку массива не по названию а по родительским айди категориям. Так же можно сортировать так как вам угодно зная ключи массива.