Como listar eventos por ano e mês usando campos personalizados avançados?

4

Eu tenho um tipo de postagem personalizada "Kalender_item" com um campo de data personalizado (YYMMDD). Quero listar todas as postagens em uma página classificada por ano e mês.

Por exemplo:

  • Novembro de 2012 (todos os eventos que ocorrem em novembro de 2012)
  • Dezembro de 2012 (todos os eventos que ocorrem em dezembro de 2012)

E assim por diante ...

Eu consegui encomendá-los assim

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

Isso me fornece todas as minhas postagens na ordem correta. Agora quero agrupá-los por Month Year e exibir o Month Year como um título para cada grupo. Como agrupar meus resultados por ano e mês?

    
por Mister Melotte 26.11.2012 / 23:54

1 resposta

3

Isso deve começar:

<?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;

?>
    
por Matthew Boynes 04.12.2012 / 05:34