我的自定义帖子类型的字段之一是成员的生日,包括年份。 但是,为了显示即将到来的生日,我需要从查询中排除年份,而仅使用月份和日期。我希望将当前日期和自定义字段日期的格式设置为mmdd,以便可以简单地进行比较。 但是,以下内容考虑了年份,因此导致1963年3月12日显示的是1965年2月18日之前的年份(完全是由于年份)
function tsum_home_birthday_widget() {
// ACF Date Picker Input: j F M Also tried nd
// ACF Date Picker Output: j F M Also tried nd
//$currentdate = date("Y-m-d",mktime(0,0,0,date("m"),date("d"),date("Y")));
//$currentdate = date("nd",mktime(0,0,0,date("m"),date("d"),date("Y")));
$currentdate = date('nd');
$birthDate = get_field('breeder_birthday', false, false);
$meta_query = array (
'key' => 'breeder_birthday',
// 'key' => $birthDate, // try to use variable so I can chnage the format of the date
'compare' => '<=', // chnage to >= once I know how to exclude the year.
'value' => $currentdate,
'type' => 'DATE',
);
$args = array(
'post_type' => 'breeders',
'meta_key' => 'breeder_birthday',
//'meta_key' => $birthDate, // try to use variable so I can chnage the format of the date
'orderby' => 'meta_value_num',
'orderby' => 'meta_value',
'order' => 'ASC',
'posts_per_page' => '5',
'meta_query' => $meta_query,
);
$wp_query = new WP_Query( $args );
while( $wp_query->have_posts() )
{
$wp_query->the_post();
?>
<ul class="widget">
<li>
<?php if( get_field('breeder_contact') ): ?>
<?php the_field( 'breeder_contact' ); ?>
<?php endif; ?>
<?php if( get_field('breeder_birthday') ): ?>
<?php
$bbday = get_field('breeder_birthday', false, false);
$bbday = new DateTime($bbday); ?>
<?php echo $bbday->format('d F Y'); ?>
<?php endif; ?>
</li>
<hr>
</ul>
<?php
}
wp_reset_query();
}
add_shortcode('Birthdays', 'tsum_home_birthday_widget');