-1

だから私は「イベント」と呼ばれるカスタム投稿タイプを持っています。各イベントで、「08/01/12」のような日付を返す「start_time_date」というカスタムフィールドがあります。これらの投稿を並べ替えて投稿を返すには、投稿がstart_time_dateで昇順で並べ替えられるようにするにはどうすればよいですか(現在の日付に近いstart_time_datesが最初に表示されます)。

これが私の現在のコードです:

<? query_posts("cat=$currentID&showposts=100"); ?>
<? if ( have_posts() ) : ?>
    <? while ( have_posts() ) : the_post(); if (time() < strtotime(get('end_time_date'))) :?>

       <? $originalDate = get('start_time_date'); $newDate = date("M j, Y", strtotime($originalDate)); ?>
       <div class="post">Some Post Data</div>

    <? endif; endwhile; ?>
<? endif; ?>
4

2 に答える 2

1

mysql形式で日付を格納するメタフィールドを使用します。つまり2012-08-02、その投稿用です。たぶん、jqueryの日付ピッカーを使用してこの形式をレンダリングすることを検討してください。

保存すると、この投稿のwp_postmetaテーブルに行が表示されます。

$results = new WP_Query( array( 'meta_key' => 'date', 'orderby'=> 'meta_value' ));
于 2012-08-01T15:14:40.493 に答える
1

次のようなことを試しましたか?

<? query_posts("cat=$currentID&showposts=100&orderby=date&order=asc"); ?>

dateデータベースの列に正確に何が含まれているかはわかりませんが、そのようなものです。また、順序を変更する必要があるかもしれませんが、それは重要ではないと思います。

編集

私はもう少し調査を&orderby=date&order=ascしました、そして日付と注文について正しいです。

申し訳ありませんが、WordPressコーデックスでカスタム選択クエリを使用して投稿を表示するを読みましたか?

また、カスタムフィールドの名前はquery_posts('&meta_key=popularity&orderby=meta_value');どこにあるかを追加しました。meta_key

ここにあります:クラスリファレンス/WPクエリ

于 2012-07-31T18:32:24.557 に答える