Поддержка Проблемы и решения Как правильней реализовать данную функциональность (м

  • Подскажите, как лучше и удобней реализовать следующую функциональность:
    Существует журнал, который выходит 1 раз в месяц, например с 1980 года, журнал многоязычный. На wordpress сайте 1 журнал это 1 пост.

    Каждый журнал имеет следующие таксономии:
    1) Страна: russia, usa, germany …
    2) Год: 2010, 2009, 2008 …
    3) Месяц: Январь, Февраль, Март …

    Соответствунно необходимо на страницах показывать мульти выборку, например на странице
    site.com/jurnal/russia/2010/
    показать записи у которых Страна=Россия + Год=2010 и месяцы были в хронологическом порядке

    на странице
    site.com/jurnal/russia/
    показать записи у которых Страна=Россия, а годы и месяцы были в хронологическом порядке, например:

    Год 2010
    	Январь - ссылка на пост
    	Февраль - ссылка на пост
    	Март - ссылка на пост
    	...
    Год 2009
    	Январь - ссылка на пост
    	Февраль - ссылка на пост
    	Март - ссылка на пост
    	...
    ...

    Моё решение:
    Я создал свой Post Type. Для него создал таксономию Страна, Год, Месяц.
    jurnal — это страница (page). Добавил query_vars (3 шт. соотв.) и с помощью add_rewrite_rule направил запросы на эту страницу

    add_rewrite_rule('jurnal/([a-z]+)/?$',
    	'index.php?pagename=jurnal&my_strana=$matches[1]', 'top');
    add_rewrite_rule('jurnal/([a-z]+)/([0-9]{4})/?$',
    	'index.php?pagename=jurnal&my_strana=$matches[1]&my_god=$matches[2]', 'top');
    add_rewrite_rule('jurnal/([a-z]+)/([0-9]{4})/([a-z]+)/?$',
    	'index.php?pagename=jurnal&my_strana=$matches[1]&my_god=$matches[2]&my_mesyac=$matches[3]', 'top');

    В файле page-jurnal.php через query_posts делаю запрос _Комбинируя_ таксономии. Но т.к. комбинация таксономия по умолчанию в wordpress не поддерживается, пришлось применять плагин «query-multiple-taxonomies».

    А так как мне необходим хронологический порядок года и месяцев, то приходится делать query_posts запрос комбинирую 3 таксономии (Страна, Год, Месяц).

    И как мне кажется это не совсем удачный вариант решения данной задачи. Подскажите, возможны ли другие решения?

Просмотр 2 ответов — с 1 по 2 (всего 2)
  • qtranslate — решение для мультиязычности
    при создании записи прописываем правильную дату журнала.
    1 запись — месячный выпуск журнала.

    Тогда, будет выбор любых языков (настраивается)
    Стандартные архивы позволят просматривать записи за год, за месяц и т.п.

    не понимаю, почему сразу было не воспользоваться архивами, они для этого и были сделаны.

    ws256, спасибо за вариант, я ждал такой версии, пришла сразу же после того как я сделал по своему.

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

    Если у кого есть ещё интересные варианты, буду ждать 🙂

Просмотр 2 ответов — с 1 по 2 (всего 2)
  • Тема «Как правильней реализовать данную функциональность (м» закрыта для новых ответов.