Если вы работали с календарем событий от Modern Tribe, то есть шанс, что вы знакомы с некоторыми различными способами выполнения определенных задач.
Домашняя страница календаря событий
То есть программно создавать события, изменять события, настраивать повторяющиеся события (если это про версия) и так далее.
Что, если вам нужно запросить типы сообщений о событиях — некоторые или все, не имеет значения — и вы обнаружите, что ваш запрос не работает? И нет, я не говорю об использовании простого SQL-запроса или даже его параметризованной версии с классом $wpdb.
Я говорю о WP_Query.
Запрос типов сообщений о событиях
Вот краткое изложение: если вы попытаетесь использовать WP_Query так, как вы привыкли его использовать (то есть вручную указать тип сообщения), вы, скорее всего, не получите никаких результатов. Что, конечно, не имеет смысла, особенно когда вы видите их в WordPress и базе данных.
Вместо этого аргументы для запроса должны:
- учет нескольких типов постов,
- учет нескольких статусов сообщений,
- и пользовательский ключ массива, уникальный для самого плагина (начиная с версии 3.0).
Короче говоря, невероятно простая версия аргументов должна выглядеть так :
Но вот в чем дело: это не универсальный случай. Бывают случаи, когда вы можете не указывать ключ eventDisplay и все равно получать результаты. Так что дает?
Всегда читайте документацию
Согласно документации :
eventDisplay используется для указания общей формы запроса — обычно это может быть один из предстоящих, прошлых или пользовательских (и если вы ничего не укажете, предполагается, что вы заинтересованы в предстоящих событиях)
Так что, если у вас есть предстоящее событие, все будет в порядке, но если вы хотите получить все, что у вас есть в вашей установке, укажите custom в качестве значения.
Большая картина
Причина, по которой я наткнулся на эту идиосинкразию, больше связана с реализацией создания событий и связыванием их с определенной учетной записью пользователя.
Но я подробно расскажу об этом в другом посте. На данный момент это все о том, чтобы убедиться, что мы можем запрашивать типы сообщений о событиях и получать результаты, с которыми мы можем работать.