使用ACF在Wordpress中显示即将到来的生日-查询日期选择器自定义字段时不包括YEAR

时间:2019-03-10 09:10:22

标签: wordpress datepicker custom-post-type advanced-custom-fields custom-fields

我的自定义帖子类型的字段之一是成员的生日,包括年份。 但是,为了显示即将到来的生日,我需要从查询中排除年份,而仅使用月份和日期。我希望将当前日期和自定义字段日期的格式设置为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');

0 个答案:

没有答案