Используя wordpress и дополнительные настраиваемые поля, как я могу использовать подполе для своего мета-запроса? - PullRequest
0 голосов
/ 06 января 2020

Я использую Wordpress с плагином Advanced Custom Fields Pro и пытаюсь получить все посты с полем даты, которое идет после сегодняшней даты. Я посмотрел на этот пример https://www.advancedcustomfields.com/resources/date-picker/, и это прекрасно работает, за исключением того, что мое поле является подполем поля повторителя. И у меня есть некоторые проблемы при создании мета-запроса для этого. Я попытался использовать _%_ для подполя, но затем я прочитал здесь https://support.advancedcustomfields.com/forums/topic/meta_query-for-a-group-field-sub-field/, что я могу просто использовать подчеркивание для подполя. Но сообщения все еще не дают никаких результатов. Я попытался проверить дату только из одного сообщения, и оно, кажется, работает правильно. Я также прочитал здесь advancedcustomfields.com / resources / date-picker , что дата всегда хранится в базе данных как Ymd. Я попытался сделать это с другим полем, которое не является подполем, и это сработало, поэтому проблема заключается в подполе, я думаю 'key' => 'date_startdate',

Я использую средство выбора даты в качестве подполя.

function do_get_upcoming($atts = [])
    {
        $defaultLimit = 8;
        $limit = $atts["limit"] != null ? $atts["limit"] : $defaultLimit;

        $today = date('Ymd');

        $posts = get_posts(array(
            'numberposts'   => $limit,
            'post_type'     => 'events',
            'meta_query' => array(
                 array(
                    'key'     => 'date_startdate',
                    'value'   => $today,
                    ‘type’ => ‘DATE’
                    'compare' => '>',
                )
            ),
        ));

        echo count($posts);
    }
    add_shortcode('get_upcoming','do_get_upcoming');

подполе скриншота

1 Ответ

1 голос
/ 06 января 2020

Я нашел решение. Подполя можно получить, добавив _0_, чтобы вы получили 'key' => 'date_0_startdate'

...