Мне нужна помощь с запросом 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; ?>