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

У меня неприятная проблема. Я использую date_query как указано в Codex:

 <?php $today = getdate(); $args = array( 'post_type' => 'Lighting', 'post_status' => 'publish', 'posts_per_page' => 1, 'date_query' => array( array( 'year' => $today['year'], 'month' => $today['mon'], 'day' => $today['mday'], ), ), ); $the_query = new WP_Query( $args ); 

Хотя я могу отображать пользовательские сообщения, как ожидалось, если я исключаю 'day' , я не получаю сообщений, когда он включен в запрос. Я использую Advanced Custom Fields Pro с устройством date-picker . Я понятия не имею, почему это происходит, и я неустанно искал, чтобы определить, почему моя date_query не работает. Я могу повторить дату, поэтому я не понимаю, где отключается.

/ ****** ОТВЕТ НА ОТВЕТЫ ****** /

Спасибо за ответы. Я сделал meta_query с тем, что, по моему мнению, является правильным форматом даты, но я все еще не могу запросить только сегодняшнюю запись. Вот новый запрос:

 <?php // Let's get the data we need to loop through below $args = array( 'post_type' => 'carillon', // Tell WordPress which post type we want 'orderby' => 'meta_value', // We want to organize the events by date 'meta_key' => 'date_of_lighting', // Grab the "date_of_event" field created via "date-picker" plugin (stored in 'YYYYMMDD') 'posts_per_page' => '1', // Let's show just one post. 'meta_query' => array( // WordPress has all the results, now, return only the event on today's date array( 'key' => 'date_of_lighting', // Check the s"date_of_lighting field 'value' => date("YMD"), // Set today's date (note the similar format) 'compare' => '=', // Return only today's post 'type' => 'NUMERIC' // Let WordPress know we're working with numbers ) ) ); 

Какие-либо предложения? Еще раз спасибо.

/******** РЕШЕНИЕ **********/

Всем привет,

Итак, я нашел решение, которое работает. Я изменил тип на «DATE». Интересно, что в других примерах, где люди хотят показать дату и дату, они используют тип «Числовой». Я предполагаю, что это имеет смысл, но я пойду в Кодекс, чтобы понять это больше. Я ценю всю вашу помощь. Вот решение, которое работает:

  <?php // Let's get the data we need to loop through below $args = array( 'post_type' => 'carillon', // Tell WordPress which post type we want 'orderby' => 'meta_value', // We want to organize the events by date 'meta_key' => 'date_of_lighting', // Grab the "date_of_event" field created via "date-picker" plugin (stored in 'YYYYMMDD') 'posts_per_page' => '1', // Let's show just one post. 'meta_query' => array( // WordPress has all the results, now, return only the event for today's date array( 'key' => 'date_of_lighting', // Check the s"date_of_lighting field 'value' => date("Ymd"), // Set today's date (note the similar format) 'compare' => '=', // Return only today's post 'type' => 'DATE' // Let WordPress know we're working with a date ) ) ); 

Solutions Collecting From Web of "date_query не будет принимать параметр day, но примет месяц и год для пользовательской почты"

Как сказано в комментариях, вы должны использовать meta_query .

Для получения справки о том, как запрашивать сообщения в мета-поле ACF, вы можете проверить документацию ACF:

https://www.advancedcustomfields.com/resources/query-posts-custom-fields/

 $args = array( 'numberposts' => -1, 'post_type' => 'event', 'meta_key' => 'location', 'meta_value' => 'Melbourne' ); // query $the_query = new WP_Query( $args ); 

Вот решают люди. Я прокомментировал каждую строку, чтобы уточнить, что происходит. Надеюсь, все это имеет смысл и правильное 🙂

Я ценю помощь, которую я получил от этого сообщества рок-звезд.

  <?php // Let's get the data we need to loop through below $args = array( 'post_type' => 'carillon', // Tell WordPress which post type we want 'orderby' => 'meta_value', // We want to organize the events by date 'meta_key' => 'date_of_lighting', // Grab the "date_of_event" field created via "date-picker" plugin (stored in 'YYYYMMDD') 'posts_per_page' => '1', // Let's show just one post. 'meta_query' => array( // WordPress has all the results, now, return only the event for today's date array( 'key' => 'date_of_lighting', // Check the "date_of_lighting" field 'value' => date("Ymd"), // Set today's date (note the similar format) 'compare' => '=', // Return only today's post 'type' => 'DATE' // Let WordPress know we're working with numbers ) ) ); $the_query = new WP_Query($args); ?> <?php if ( $the_query->have_posts() ) : ?> <!-- the loop-->