Order by custom field date
<p>I'm using this to list all post titles...</p>

<pre><code>&lt;?php
$args = array(
    'posts_per_page'    =&gt; -1,
    'post_type'         =&gt; 'post',
    'post_status'       =&gt; 'publish',
    'orderby'           =&gt; 'title',
    'order'             =&gt; 'ASC'
);

query_posts($args);
if (have_posts()) :
    while (have_posts()) :
    the_post(); ?&gt;
&lt;p&gt;
    &lt;?php the_title(); ?&gt;
&lt;/p&gt;
&lt;?php endwhile;
    endif;
    wp_reset_query();
?&gt;
</code></pre>

<p>...and that works fine.</p>

<p>Each of my posts also has a custom field called <code>start_date</code>. All these start dates are entered in the format DD-MM-YYYY (example: 10-03-2016).</p>

<p>What I need to be able to do (and I'm not if this can even be done) is to orderby <code>start_date</code> (instead of <code>title</code>).</p>

<p>To further illustrate, if there were 3 posts with start dates like this...</p>

<blockquote>
  <p>Post 1: 01-11-2016</p>
  
  <p>Post 2: 03-01-2016</p>
  
  <p>Post 3: 12-07-2016</p>
</blockquote>

<p>...the posts would be displayed in the order of....</p>

<blockquote>
  <p>Post 2 </p>
  
  <p>Post 3</p>
  
  <p>Post 1</p>
</blockquote>

<p>...because this is in correct date order.</p>

<p>I hope this makes sense.</p>

<p>Cheers.</p>