dashaluna
  • 0
Учитель

Пользовательские архивы типов сообщений по дате (хранятся как метазначение) WP3.1

  • 0

Я хотел бы реализовать функциональность архива на основе даты (аналогично оригинальной функциональности виджета WP Archives) для пользовательского типа записи (CPT). Сложность заключается в том, что мне нужно группировать и архивировать события не по дате публикации, а по event_date сохраненному мета-значению.

Например, у меня event CPT зарегистрирован следующим образом:

$args = array(
    'labels' => $labels,
    'public' => true,
    'publicly_queryable' => true,
    'show_ui' => true,
    'has_archive' => 'past-events',
    'rewrite' => array('slug' => 'event','with_front' => false),
    'query_var' => true,
    'capability_type' => 'post',
    'hierarchical' => false,
    'show_in_nav_menus' => false,
    'menu_position' => 15,
    'supports' => array(
      'title',
      'editor',
      'author',
      'revisions'       
    )
  );
  register_post_type('event',$args);

Я хотел бы создавать ссылки на архивы, такие как /past-events/2011/04, аналогичные функциональности виджета WP Archives. Однако мои события должны быть заархивированы event_date мета-значением. Кроме того, если, скажем, на апрель 2011 года событий больше, чем у меня Blog pages show at most установлено, я хотел бы иметь правильную нумерацию страниц для страниц. И в идеале, при просмотре одного события у меня были бы правильные ссылки на предыдущее и следующее событие на этой странице архива. Надеюсь, это имеет смысл.

Я использую WP3.1. Я дошел до has_archive настройки CPT. Я огляделся, но запутался, как действовать дальше. Это что-то, что я должен написать сам, или это можно сделать с помощью функций или плагинов WP?

Был бы очень признателен за любую помощь и советы.

Большое спасибо, Даша

Share
  1. Вы не можете добиться этого с помощью встроенных функций, и я не знаю ни одного плагина, который помог бы вам в этом, и для написания такой функциональности потребовалось бы много кода…. но может быть более простое решение, поэтому в каком формате ваше event_date мета значение?

    • 0
  2. Это не полностью отвечает на ваш вопрос, но это попытка помочь.

    Взгляните на: http://seebz.net/notes/#note-145 Настраивает CPT с архивами дат и устанавливает все необходимые правила перезаписи.

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

    • 0

Оставить ответ

You must login to add an answer.