2

Wordpress と WP-Types プラグインを使用しており、カスタム フィールドの日付で CPT を並べ替える必要があります。

これはうまくいきます:

$args = array(
    'post_type' => 'parties',
    'paged' => $paged,
    'meta_key' => 'wpcf-parties_date',
    'orderby' => 'meta_value',
    'order' => 'DESC',
);

オーダーバイは完璧に機能します。データベースでは、日付フィールド 'wpcf-parties_date' の値は、次のように保存されます: 例: 1349481600 。

過去と今後の投稿を表示する必要がある 2 つのテンプレートがあります。私の質問は、現在の日付に関する将来または過去の投稿のみを表示するにはどうすればよいですか?

私は運がないのでこれを試します。

$args = array(
    'post_type' => 'parties',
    'paged' => $paged,
    'meta_key' => 'wpcf-parties_date',
    'meta_value' => date('d.m.Y H:i:s'),
    'meta_compare' => '>',
    'orderby' => 'meta_value',
    'order' => 'ASC'
);

ループに WP_Query を使用しています。

前もって感謝します!!

4

1 に答える 1

1

カスタムフィールドの値が数値(1349481600)であるため、meta_query両方をチェックして< and >使用することもできます。meta_value_num

$current_date=strtotime(date('d.m.Y H:i:s'));
$args = array(
    'post_type' => 'parties',
    'paged' => $paged,
    'meta_key' => 'wpcf-parties_date',
    'orderby' => 'meta_value_num',
    'order' => 'ASC',
    'meta_query' => array(
        array(
            'key' => 'wpcf-parties_date',
            'value' => $current_date,
            'compare' => '>'
        ),
        array(
            'key' => 'wpcf-parties_date',
            'value' => $current_date,
            'compare' => '<'
        )
    )
);

詳細については、ドキュメントを参照してください

于 2012-11-28T17:47:47.000 に答える