it-swarm.com.de

Holen Sie sich Beiträge, die im aktuellen Monat oder später sind

Ich habe einen benutzerdefinierten Beitragstyp, der ein Ereignis ist.

Ich versuche, diese Ereignisse abzufragen und nur Ereignisse zurückzugeben, die im aktuellen Monat oder später liegen. Die Veranstaltung könnte also in der Vergangenheit liegen, muss aber im selben Monat stattfinden. Das Ereignisdatum ist ein benutzerdefiniertes Feld.

Im Moment möchte ich also nur Ereignisse, die im Monat August oder später liegen, und keine Ereignisse vor August.

Hier ist meine aktuelle Abfrage, sortiert von der ältesten zur neuesten:

$custom_post_type = 'event';

$args = array(
    'post_type' => $custom_post_type,
    'post_status' => 'publish',
    'meta_key' => 'event_date_and_time',
    'orderby' => 'meta_value_num',
    'order' => 'ASC',
    'posts_per_page' => -1
);

$events = get_posts($args);
1
Corey

Sie können meta_query verwenden, wenn Ihre Datumsinformationen in einem benutzerdefinierten Feld gespeichert sind. So was:

$args = array(
    'post_type' => $custom_post_type,
    'posts_per_page' => -1,
    'meta_query' => array(
        array(
            'key' => 'event_date_and_time',
            'value' => current_time('Ymd'),
            'compare' => '>='
        )
    ),
    'orderby' => 'meta_value_num',
    'order' => 'ASC'
);

Dieser Code setzt voraus, dass Ihr Datum im Format JJJJMMTT (20150820) gespeichert ist. Und es zeigt Post von heute in die Zukunft, so dass Sie value auf "ersten Tag des aktuellen Monats" ändern müssen.

1
Marek

Verwenden Sie das Argument meta_query im Array.

$custom_post_type = 'event';

$args = array(
    'post_type' => $custom_post_type,
    'post_status' => 'publish',
    'meta_key' => 'event_date_and_time',
    'orderby' => 'meta_value_num',
    'order' => 'ASC',
    'posts_per_page' => -1
    'meta_query' => array(
        array(
            'key' => 'event_date_and_time',
            'value'   => date("Y-m-1"); // starting from 1st of current month. This will change based on how you store dates.
            'compare' => '>=',
            'type' => 'NUMERIC,' // Let WordPress know we're working with numbers
        )
    )
);

$events = get_posts($args);
0
WisdmLabs