0

Wordpress で次のコードを使用して、イベント (カスタム投稿タイプ) をクエリし、日付順に並べ替えています。

query_posts( array( 'post_type' => 'events', 'showposts' => 10, 'orderby' => 'meta_value_num','meta_key' => '_ecmb_datetime' ) );

メタ キー_ecmb_datetimeがある場合、これはイベントのタイムスタンプです。

すでに発生したイベントを表示したくないので、私の質問は、現在の時間以降に発生したイベントのみを表示するにはどうすればよいですか?

どんな助けでも大歓迎です

4

1 に答える 1

1

私は WP の専門家ではありませんが、Codex のいくつかのリソースを調べてみると、いくつかの選択肢があるようです。このページは、query_posts を直接変更しないことを提案しているようですが、自分が何をしているのかわかっている場合は、そのままにしておいてください。このページこのページは一緒に、メイン関数のラッパーを介して任意のフィールドで並べ替えるようにクエリを変更する方法を提案しています。

私は次のようなことを試すかもしれません:

function get_pending_events( $query ) {
    $query->set( 'orderby', 'meta_value_num' );
    $query->set( 'order', 'DESC' );
    $query->set( 'meta_value', time() );
    $query->set( 'meta_compare', '>=' );
}

add_action( 'pre_get_posts', 'get_pending_events' );

日付形式のニーズは異なる場合がありますが、これは 1 つの方法である可能性があります。コーデックスには多くの良い情報があるようです。

于 2013-10-19T21:51:03.760 に答える