1

Тема: Помощь в органицации структуры

Вопрос к гуру ВП)

Как посоветуете организовать информационную структура сайта при следующей задаче?
Есть набор записей они разбиты на категории - но нужно для каждой категории дать свое описание в виде отдельной страницы.
Т.е. в рубриках есть поле "описание" но его мало - нужна полноценная страница.

Например:
сайт туристической компании
есть туры - это записи, разбиты по странам и видам отдыха -  это 2 ветки категорий
нужно для каждой страны и вида отдыха дать описание в виде полноценной страницы с фотками и т.п.

Варианты над которыми уже думал:

- Делать туры не записями а страницами. Т.е. страна это родительская страница (с описанием страны), туры это дочерние.
но не получается сделать двойственность принадлежности. Т.е. нельзя чтобы тур принадлежал к какой-то странице страны и одновременно какой-то странице вида отдыха.

- была мысль сделать нормально рубриками, и сделать параллельно описание этих рубрик в виде страниц, но чтобы страницы совпадали по айдишникам с теми рубриками которые они описывают. И при клике на описание рубрики выводить страницу с таким же айди. Но имхо это как-то слишком). А еще пользователю объяснить как ему создать новую рубрику и страницу чтобы у них совпадали айди ?)))

Может посоветуете что?

2

Re: Помощь в органицации структуры

нужно для каждой страны и вида отдыха дать описание в виде полноценной страницы с фотками и т.п.

Замечательно! Вот и делайте такие страницы с описания и фотками. А в описание рубрики  поместите как_бы_тизер соответствующей страницы и ссылку на неё. Плагины, разрешающие html в описании рубрики, есть. Есть даже визуальные редакторы для этого поля. Естественно, на странице с описанием будет ссылка обратно на рубрику.

Есть еще вариант с закреплением поста, но штатно можно закреплять только на главной, а плагин, закреплявший и в рубрике, по-моему, погиб с появлением штатной функции закрепления. Впрочем, могу и ошибаться.

[signature]Есть ли смысл просить инструкцию по регулировке карбюратора, если не знаешь, в каком из багажников находится двигатель?[/signature]

3

Re: Помощь в органицации структуры

Ю.Б. пишет:

нужно для каждой страны и вида отдыха дать описание в виде полноценной страницы с фотками и т.п.

Замечательно! Вот и делайте такие страницы с описания и фотками. А в описание рубрики  поместите как_бы_тизер соответствующей страницы и ссылку на неё. Плагины, разрешающие html в описании рубрики, есть. Есть даже визуальные редакторы для этого поля.

Боюсь сложно будет для обычного пользователя создавать отдельно создавать анонсы отдельно страницы.

Но спасибо за наводку плагин который добавляет редактор для описания рубрики почти решил задачу. Т.к. теперь там можно писать что уогдно.
Для полного счастья не хватает только микроминиатюр для категорий которые можно обрабатывать как у постов )

4

Re: Помощь в органицации структуры

Для категорий, вроде как, есть плагин, создающий мета-поля (custom fields), аналогичные мета-полям для постов. Возможно получится задействовать его для картинок (до появления механизма post_thumbnail именно через мета-поля присобачивали к постам картинки-превьюшки).

[signature]Есть ли смысл просить инструкцию по регулировке карбюратора, если не знаешь, в каком из багажников находится двигатель?[/signature]

5

Re: Помощь в органицации структуры

Нашел хороший (с виду) плагин
http://wordpress.org/extend/plugins/categorycustomfields

управление полями в админке реализовано хорошо
но никак не могу понять как потом выводить эти поля на сайте(
Нашел только в FAQ
Q: How to get categories by custom field A: You have to call categoryCustomFields_GetCategoriesByCustomField with the following two parameters : field name Color (e.g. Image) and field value (e.g. Red).

Есть у кого-то мысли?

6

Re: Помощь в органицации структуры

Так, с выводом разобрался) подсмотрел какой функцией сам плагин выводит уже заполненные поля в админке сайта.

Теперь надо это использовать по максимуму. Нужно вывести список дочерних категорий отдельной категории, но в цикле, так чтобы можно было вывести название категории и её произвольные поля. Кто поможет с кодом?)

Re: Помощь в органицации структуры

<ul>
<?php foreach ( get_categories('child_of=...&hide_empty=0') as $category ) : ?>
    <li><?php echo $category->name; ?></li>
<?php endforeach; ?>
</ul>
Успехов!

8

Re: Помощь в органицации структуры

Спасибо, будем пробовать)

9

Re: Помощь в органицации структуры

Sergey Biryukov пишет:
<ul>
<?php foreach ( get_categories('child_of=...&hide_empty=0') as $category ) : ?>
    <li><?php echo $category->name; ?></li>
<?php endforeach; ?>
</ul>

А каким образом можно задать depth=1 для get_categories?

Спасибо!

10

Re: Помощь в органицации структуры

http://wparena.com/how-to/how-to-add-cu … ags-terms/
Попробуй этот способ. Я пока что не осилил...)

Category Custom Fields так и не заработал. Видимо не совместим с последними версиями вордпресса.

Отпишись, плз, каким образом решил задачу:)

11

Re: Помощь в органицации структуры

C Category Custom Fields странная штука - поля типа img записываются нормально а остальные просто не сохраняются значения.
Но мне пока картинок хватает, хотя тоже приметил плагин wp-category-meta, покопаюсь с ним позже.

Вывод картинки с плагина Category Custom Fields сделал следующим образом

<?php  $row = categoryCustomFields_DB_GetCategoryValueById($term_id_for_cfields,kartinka); $str =explode('@',$row->field_value);  ?>
<img src="<?php echo $str[0]; ?>" title="<?php single_cat_title(''); ?>" />

Где $term_id_for_cfields у меня до этого получает значение айди категории а "kartinka" это название самого поля.

С предложенным кодом цикла категорий все заработало отлично
но камнем преткновения действительно становятся категории 2-го уровня вложенности которые нужно исключить из цикла(

Re: Помощь в органицации структуры

dazfx1984 пишет:

А каким образом можно задать depth=1 для get_categories?

Вывести категории только первого уровня можно так:

<ul>
<?php foreach ( get_categories('child_of=...&hide_empty=0') as $category ) : ?>
    <?php if ( !empty($category->category_parent) ) continue; ?>
    <li><?php echo $category->name; ?></li>
<?php endforeach; ?>
</ul>
Успехов!

13 (06-07-2011 00:42:24 отредактировано Plut-ON)

Re: Помощь в органицации структуры

Ночью работа кипит) я успел догадаться до такого

<?php $par = $category->parent;  ?>
        <?php  if($par == 7) { ?>

Т.к. мне нужно было вывести категории первого уровня относительно моей выбранной категории

Еще раз спасибо!

14 (06-07-2011 09:10:24 отредактировано dazfx1984)

Re: Помощь в органицации структуры

Sergey Biryukov пишет:
dazfx1984 пишет:

А каким образом можно задать depth=1 для get_categories?

Вывести категории только первого уровня можно так:

<ul>
<?php foreach ( get_categories('child_of=...&hide_empty=0') as $category ) : ?>
    <?php if ( !empty($category->category_parent) ) continue; ?>
    <li><?php echo $category->name; ?></li>
<?php endforeach; ?>
</ul>

Не работает что-то... Подкатегория тоже может быть родителем в моем случае.

Сейчас делаю так:

<?php
if ( is_category() ) {
  $current_cat = get_query_var('cat');
  wp_list_categories('depth=1&hide_empty=0&title_li=&show_count=1&child_of='.$current_cat);
}

?>

Но мне нужно в цикле еще выводить произвольное поле(или миниатюру) для каждой категории, поэтому такой вариант не катит. Ваш вариант предпочтительней, но вывод должен соотвествовать моему wp_list_categories. Глянуть можно тут http://dazfx.in.ua/granit/ Счетчик подкатегорий не нужен.

Миниматюры для рубрик задаю с помощью плагина FPW Category Thumbnails.
Автор плагина рекоммендует выводить их таким образом:

if ( has_post_thumbnail() ) the_post_thumbnail();

Сисок рубрик:

   Гранит
    — Изделия из гранита
         — — Накрывные плитты
         — — Подоконники
         — — Столешници
         — — Ступени
   Китайский сланец
    — Тротуарный камень
         — — Мозаика
         — — Тротуарная плитка
....

Спасибо=)