2011-01-17 10 views
0

ワードプレスの正しい順序でイベントを表示する際に問題が発生しました。私はそれが英国の日付形式であるため、ワードプレスは日付を文字列として扱い、その日までに注文するため問題であると思います。ワードプレスイベントリスト日付問題

今後のイベントのリストを最新のイベントとともにリストの上部に表示することを目標としています。しかし、私はdd/mm/yyyyの英国の日付形式を使用する必要があります。

私は描画ボードに戻る必要がありますか、必要な結果を得るために日付を変換する方法がありますか?事前に

感謝:)

<ul> 
<?php // Get today's date in the right format 
$todaysDate = date('d/m/Y');?> 

<?php query_posts('showposts=50&category_name=Training&meta_key=date&meta_compare=>=&meta_value=' . $todaysDate . '&orderby=meta_value&order=ASC'); ?> 

    <?php if (have_posts()) : while (have_posts()) : the_post(); ?> 
    <li> 
     <h3><a href="<?php the_permalink(); ?>"> 
     <?php the_title(); ?> 
     </a></h3> 
     <?php $getDate = get_post_meta($post->ID, 'date', TRUE); 
     $dateArray = explode('/', $getDate); ?> 
     <?php if($getDate != '') { ?> 
      <div class="coursedate rounded"><?php echo date('d F Y', mktime(0, 0, 0, $dateArray[1], $dateArray[0], $dateArray[2])); ?></div> 
     <?php } ?> 
     <p><?php get_clean_excerpt(140, get_the_content()); ?>...</p> 
     <p><strong><a class="link" href="<?php the_permalink(); ?>">For further details and booking click here</a></strong></p> 
    </li> 
    <?php endwhile; ?> 
    <?php else : ?> 
     <li>Sorry, no upcoming events!</li> 
<?php endif; ?> 

答えて

0

私はあなたがあなたのsave_postフック関数内でUNIX形式(mktime())に日付を変換するお勧めします、そしてあなたがそれを表示しているときdate('d/m/Y', $timestamp)を使用します。 UNIXのタイムスタンプは、単純に数値的に昇順または降順にソートできます。

これに失敗すると、カスタムMySQLクエリを使用する必要がありますが、それは理想的ではありません(完全に受け入れられるものの)。

参考:dateおよびmktimeです。

+0

ありがとう、私は見てみましょう。私は一時的な修正として私は同じ効果を与えるポストexpiratorをインストールしましたが。 – Roger