質問: の日付を比較するための正しい方法は何ですか wp query_posts meta_query wpテンプレート内にquery_posts呼び出しがあります。 more fieldsプラグインを使用することで、サイト管理者にイベント(カスタム投稿タイプ)を作成してから、yyyy/mm/ddという形式の日付を入力することができます。主な質問はです。 meta_query配列のvalueオプションに渡すべき値は何ですか?私は現在 "date(" y/m/d h:i a ")"(引用符を除く)を渡しようとしています。なぜなら、私はそれを理解しているように、今日の日付を表示するからです。それが無関係であるかもしれないように私は日付の時間を気にしません。究極的に、私は今後のイベント、このサイトのさまざまな場所での過去のイベントの表示を特定するためにcompareオプションを使用しようとしています。別の場所では、私は実際にはvalueオプションに今月の最初の日と最後の日を表示する配列を渡す必要があります。出力を今月のイベントに限定します。<?php query_posts( array( 'post_type' => 'event', // only query events 'meta_key' => 'event_date', // load up the event_date meta 'orderby' => 'meta_value', // sort by the event_date 'order' => 'asc', // ascending, so earlier events first 'posts_per_page' => '2', 'meta_query' => array( // restrict posts based on meta values 'key' => 'event_date', // which meta to query 'value' => date("y/m/d h:i a"), // value for comparison 'compare' => '>=', // method of comparison 'type' => 'date' // datatype, we don't want to compare the string values ) // end meta_query array ) // end array ); // close query_posts call ?>
回答: こんにちは私は私のソリューションを投稿しています。日付をy-m-d h:i形式で格納した場所(2013-07-31 16:45など)。 イベント開始日順にソートされています。 todayの後に終わるイベントはmeta_queryによってのみ問い合わせされます。 date_default_timezone_set('asia/calcutta'); date()関数にデフォルトのタイムゾーンを設定しました。$args = array( 'posts_per_page' => 3, 'orderby' => 'meta_value', 'meta_key' => 'event_start_date_time', 'order' => 'asc', 'post_type' => 'events', 'meta_query' => array( array( 'key' => 'event_end_date_time', 'value' => date("y-m-d h:i"), 'compare' => '>=', 'type' => 'date' ) ) ); query_posts( $args ); if( have_posts() ) : while ( have_posts() ) : the_post();