Support » Fixing WordPress » Using Meta Compare to Show Upcoming Dates for Custom Post

  • Hello,
    I have searched the forums but am not able to make this work. I need to only show upcoming dates and right now, it shows all dates regardless. In the below example, i am simply showing the next date.

    When I echo $today, it displays correctly as Y, d, m.

    I have tried the solution on this page and if just displays the else statement.

    What am I missing? THANK YOU!

    <?php $today = date('y-m-d'); query_posts('post_type=>event&meta_key=event-date&meta_compare=>=&meta_value='.$today.'&orderby=meta_value&order=ASC&posts_per_page=1');
    <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
    <strong><?php echo get_post_meta($post->ID, 'date-for-humans', true); ?></strong><br />
    <a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a>
    <?php endwhile; ?>
    <?php else : ?>
    <p>See you next Season!</p>
    <?php endif; ?>
Viewing 1 replies (of 1 total)
  • Hi Kate,

    I did something very similar and I had the same problem…it was showing all the dates and not making the comparison. The problem turned out to be the way the date is formatted. Make sure the value in your meta-key, ‘event’ is in the same format as $today. This is where your problem is in this example. You need to use “Y-m-d”. Also it is recommended to use new WP_Query instead of query_posts.

    <?php $today = date('Y-m-d');
    	'post_type' => 'event',
    	'meta_key' => 'event-date',
    	'meta-compare' => '>=',
    	'meta-value' => $today,
    	'orderby' => 'meta_value',
    	'order' => 'ASC',
    	'paged' => $paged
    $event_loop = new WP_Query($args)
Viewing 1 replies (of 1 total)
  • The topic ‘Using Meta Compare to Show Upcoming Dates for Custom Post’ is closed to new replies.