Как составить список событий по годам и месяцам С помощью Расширенных настраиваемых полей?


У меня есть пользовательский тип записи "Календер_итем" с пользовательским полем даты (YYMMDD). Я хочу перечислить все сообщения на странице, отсортированной по годам и месяцам.

Например:

  • Ноябрь 2012 года (все события, произошедшие в ноябре 2012 года)
  • Декабрь 2012 года (все события, произошедшие в декабре 2012 года)

И так далее...

Мне удалось упорядочить их таким образом

$kalenderItems=query_posts('post_type=kalender_item&post_status=publish&meta_key=kalender_item_datum&orderby=meta_value');

Это дает мне все мои сообщения в правильном порядке. Сейчас я хотите сгруппировать их по месяцам года и отобразить Месяц года в качестве заголовка для каждой группы. Как сгруппировать мои результаты по годам и месяцам?

Author: Mister Melotte, 2012-11-26

1 answers

Это должно помочь вам начать:

<?php

$the_query = new WP_Query( array(
    'post_type'   => 'kalender_item',
    'post_status' => 'publish',
    'meta_key'    => 'kalender_item_datum',
    'orderby'     => 'meta_value'
) );

# This will hold what group we're in
$current_header = '';

# The Loop
while ( $the_query->have_posts() ) :
    $the_query->the_post();

    # get the datum for this post
    $temp_date = get_post_meta( get_the_ID(), 'kalender_item_datum', true );

    # If they aren't the same, we'll start a new group, which for now
    # just means setting a new heading
    if ( $temp_date != $current_header ) {
        $current_header = $temp_date;
        echo "<h2>$current_header</h2>";
    }

    # ... do normal loop stuff here

endwhile;

?>
 4
Author: Matthew Boynes, 2012-12-04 04:34:23