Wp-Запрос — Date_Query Не Принимает Параметр Дня, Но Принимает Месяц И Год Для Пользовательского Сообщения

  • Автор темы Foreground
  • Обновлено
  • 21, Oct 2024
  • #1

У меня есть неприятная проблема. я использую

 
 
                         <?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("Y-m-d"), // 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

)

)

);
 
as referenced in the Codex:

<?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("Y-M-D"), // 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_query , I get no posts when it is included in the query. I am using Расширенные пользовательские поля Pro с date-picker . I have no idea why this is happening, and I've searched tirelessly to determine why my 'day' не работает. Я могу повторить дату, поэтому не понимаю, где разрыв.

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

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

<?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 );

Есть предложения? Еще раз спасибо.

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

Всем привет,

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

date_query

#custom-post-types #wp-query #date-query

Foreground


Рег
28 Mar, 2007

Тем
66

Постов
204

Баллов
564
  • 25, Oct 2024
  • #2

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

 
         <?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("Y-m-d"), // 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-->
 
.

Чтобы узнать, как запрашивать сообщения по метаполю 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 ); ||answer||

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

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

meta_query
 

Vanofbi


Рег
04 Jun, 2009

Тем
60

Постов
187

Баллов
507
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно