Запрос даты для настраиваемого мета поля

Я хотел бы использовать что-то похожее на следующий date_query, но я хотел бы использовать некоторые настраиваемые мета-поля вместо существующих столбцов post. Например, вместо post_date_gmt я хотел бы запросить date метаданных, которую я создал.

Другими словами, я хотел бы иметь возможность фильтровать мои custom_post_types используя некоторые custom_post_types например custom_post_types или end_date в их представлении в интерфейсе администрирования. Я уже перехватил основной WP_Query но я не уверен, как я могу фильтровать мета-поле вместо столбца post.

Могу ли я это сделать или лучше создать мета-запрос?

 // Any posts made over a year ago // but modified in the past month $some_posts = new WP_Query( array( 'date_query' => array( array( 'column' => 'post_date_gmt', 'before' => '1 year ago', ), array( 'column' => 'post_modified_gmt', 'after' => '1 month ago', ) ), 'posts_per_page' => -1, ) ); 

Solutions Collecting From Web of "Запрос даты для настраиваемого мета поля"

Вам нужно использовать meta_query для запроса настраиваемых полей. Если вы собираетесь хранить дату и время в пользовательских полях для целей заказа или сравнения, вам необходимо сохранить его в формате yyyy-mm-dd h:m:s или как временная метка unix .

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

 $args = [ 'meta_query' => [ [ 'key' => 'start', 'value' => '2014-05-14' 'compare' => '>=', 'type' => 'DATE' ], [ 'key' => 'end', 'value' => '2015-05-07', 'compare' => '<=', 'type' => 'DATE' ], ], ]; $q = new WP_Query( $args ); 

FEW ПРИМЕЧАНИЯ:

  • Для этого требуется PHP 5.4+, поскольку он использует новый синтаксис коротких массивов

  • Вышеописанное полностью непроверено и может быть ошибочным. Я отправляю с мобильного устройства 🙂

  • Прочтите ссылки, которые я поставил выше

РЕДАКТИРОВАТЬ

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

Кроме того, могу ли я иметь date_query внутри мета-запроса

Ответ – нет, но вы можете иметь дату и мета-запрос в одном и том же запросе, например

 $args = [ 'date_query' => [[ /* Your date related stuff */]], 'meta_query' => [[ /* Your custom field related stuff */ ]], ]; $q = new WP_Query( $args );