Несколько родителей у рубрики

👍 Научим бесплатно правильно создавать сайты на WordPress. Подробнее →

На одном из сайтов есть каталог вида:

Регион
— Велоспорт
— запись 1
Регион 2
— Велоспорт
— запись 2
Регион 3
— Велоспорт
— запись 4

Получается нужно рубрику Велоспорт присвоить к нескольким родителям.

Есть идея сделать доп поля в которых мы сможем указывать своё строение каталога, велосипед не хочется изобретать, вдруг есть готовое решение.

Кто сталкивался с реализацией такого каталога? Или как лучше реализовать такую структуру?

Создай свой первый сайт на WordPress

zetrider

Кодинг, дизайн, wordpress

Оцените автора
Добавить комментарий

  1. При клике на Регион — Велоспорт что должно отобразиться? Только те посты, которые входят в категорию Регион и категорию Велоспорт? Или же все посты из категории Велоспорт из всех родительских категорий? Если первое, то Велоспорт в категории Регион и Велоспорт в Категории Регион 2 — это все-таки разные категории с одинаковым названием. Если же второе — то это решается введением пользовательских таксономий: Регион, Регион 2, Регион 2 — это пользовательские таксономии, Велоспорт — это обычная категория.

    Ответить
  2. zetrider автор

    Первый вариант, выводим только те записи которые относятся к Региону и к вложенной рубрике.
    Спасибо за ответ подумаю.

    Ответить
  3. zetrider автор

    поработал с таксономией, очень удобно, думаю как реализовать теперь условие для вывода нужных записей

    Создал таксономию location

    add_action( 'init', 'create_locations' );
    function create_locations() {
      $labels = array(
        'name' => 'Локации',
        'singular_name' => 'Локация',
        'search_items' =>  'Поиск Локации',
        'all_items' => 'Все Локации',
        'parent_item' => 'Родитель Локации',
        'parent_item_colon' => 'Родитель Локации',
        'edit_item' => 'Редактировать локацию',
        'update_item' => 'Обновить локацию',
        'add_new_item' => 'Добавить локацию',
        'new_item_name' => 'Имя новой локации',
      );
     register_taxonomy('location','post',array(
        'hierarchical' => true,
        'labels' => $labels
      ));
    }
    

    В локации вбил регионы:
    — Московская область
    — Республика Башкортостан

    Затем создал Рубрики:
    — Велоспорт
    — Лыжи

    отнес запись 1 к локации Московская область и к рубрике Велоспорт
    отнес запись 2 к локации Республика Башкортостан и к рубрике Велоспорт

    Нужно вывести записи из Московской области которые входят в рубрику Велоспорт
    каким условием теперь можно вывести в архиве нужную запись?

    Есть ли способ реализовать все на уровне автоматизма не создавая отдельные шаблоны под каждую таксономию?

    спасибо!

    Ответить
  4. zetrider автор

    Все таки их нужно как то связать между собой, указать какие рубрики к какой локации относятся, значит нужно создавать таблицу.

    location_ID Москва = 1
    location_ID РБ = 2
    cat_ID Велоспорт = 1
    cat_ID Лыжи = 2
    
    ID	|	location_ID	| cat_ID
    1	|	1			| 1
    1	|	2			| 1
    1	|	1			| 2

    или я не прав? есть выход проще?

    Ответить