Wordpress запрос настраиваемое поле даты упорядочено по месяцам (Birthday-List) - PullRequest
0 голосов
/ 27 января 2020

Мне нужна помощь с запросом Wordpress. У меня есть собственный тип поста, который называется «сотрудники». В этом у меня есть настраиваемое поле даты, которое называется «день рождения».

Мне нужно запросить всех сотрудников и заказать их по дню рождения, в списке, который начинается с января, февраля, если есть дни рождения ...

Какой-то многомерный массив, с каждым днем ​​рождения как месяц:

Эхо-месяц - Январь - Сотрудник 1- Сотрудник 2, Эхо-месяц - Февраль - Сотрудник 3 - Сотрудник 4

С этим Я близок, но месяцы не назначаются, начиная с января

    <?php
$custom_date_field = 'birthday';

// query
$the_query = new WP_Query( [
    'post_type' => 'employees',
    'meta_key'       => $custom_date_field,
    'orderby' => 'meta_value',
    'meta_compare' => 'BETWEEN',
    'meta_value' => array( strtotime('1900-01-01'), strtotime('2100-12-31') ),
    'order' => 'ASC'
] );

// creating multidimensional array
$birthday = [];

while ( $the_query->have_posts() ) :
    $the_query->the_post();
    $date       = strtotime( get_post_meta( get_the_ID(), $custom_date_field, true ) );
    $month = date( "F", $date );
    $birthday[ $month ][] = $the_query->post;

endwhile;
wp_reset_query();

// And to print this:
foreach ( $birthday as $month => $employees ) : ?>

<h3><?php echo $month ?></h3>
<ul>
        <?php 
        /** @var \WP_Post $person */
        foreach ( $employees as $employee ) : ?>
            <li><?php
                // post title
                echo $employee->post_title;
                // the custom field
                the_field( 'birthday', $employee->ID );
                ?></li>
        <?php endforeach; ?>
    </ul>
<?php endforeach; ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...