Display WordPress Custom post by Meta Data

I am trying to display my custom posts by date order from my meta_key in wordpress.

It is a custom post for events happening and I need to display them in order of ‘upcoming event’

Read More

My code so far is:

$today = date('d/m/y');
$args = array( 
                   'post' => 'ID', 
                   'post_type' => 'foodswaps', 
                   'posts_per_page' => 3, 
                   'meta_key' => '00.event-date',
                   'orderby' => 'meta_value_num', 
                   'order' => 'ASC',
                   'meta_value_num' => $today,
                   'meta_compare' => '>='
            );

The results do post in order but only of day. So they are appearing in this order of:
27/11/13

28/12/13

29/11/13

The order should post in:
27/11/13

29/11/13

28/12/13

Thanks in advance!

UPDATE:
Explaining the Meta Key:

The meta_keys I have are:

Name of Field | Value

00.event-date | 28/11/13 ie d/m/y

01.app-key | 122334455669

02.user-key | xjsk284k38dj

etc.

They have 00, 01, 02, etc so they appear in alphanumeric order as there are a number of fields to display the the users needs to fill in. They list in a specific ored to make it more useable.

Related posts

Leave a Reply

1 comment

  1. this is your solution

       $args = array(
             'showposts' => 5, // optional up to you
             'post_type' => 'foodswaps',
             'meta_key' => '00.event-date', // must use correctly, I am little confused why your meta key name like that start with 00, however.
             'orderby' => 'meta_value',
             'meta_query' => array(
                   array(
                        'key' => '00.event-date',
                        'value' => date("Y-m-d"),                            
                        'compare' => '>='
                        )
                    )
       );
    

    Fill the meta key value Y-m-d i.e. 2013-11-27