2017-05-02 9 views
1

Ich habe eine WP-Abfrage, die bis zu 20 Posts von zukünftigen Ereignissen angezeigt werden soll. Die Beiträge sollten nur von der Post-Format-Seite sein und sollten nach dem Datum geordnet werden. Dieser Teil funktioniert ganz gut. Was nicht funktioniert, das heißt, bereits abgelaufene Ereignisse auszuschließen. ('compare' => '> =', oder 'meta_compare' => '> =', funktioniert nicht. :() Kann mir jemand sagen, wo ist mein Fehler?Wie listet man nur zukünftige Ereignisse in einer WP_query auf?

Vielen Dank! rabo

Hier ist mein Code:.

    <?php 

$current_month = ""; 

setlocale(LC_ALL, '[email protected]'); // Monatsnamen auf Deutsch ausgeben 

$args = array('showposts' => 20, 
       'cat' => array 
          (1,2,7,8,9 
          ), 
       'meta_key' => 'datumsfeld', 
       'orderby' => 'meta_value', 
       'compare' => '>=', 
       'tax_query' => array(
            array(
             'taxonomy' => 'post_format', 
             'field' => 'slug', 
             'terms' => 'post-format-aside', 
             ) 
           ) 
       ); 

$myQuery = new WP_Query($args ); 
while ($myQuery->have_posts()) : $myQuery->the_post(); 

$datefield = DateTime::createFromFormat('Ymd', get_field('datumsfeld')); 
    if($datefield){ 
     $month = $datefield->format("m"); 
     $year = $datefield->format("Y"); 

     if($month != $current_month){ 
      echo '<div class="abstand"><strong>'.strftime("%B %Y",$datefield->getTimestamp()).'</div></strong>'; 
      $current_month = $month; 
     } 
    } 
?> 

Antwort

0

Wie über eine Meta-Abfrage, um das Hinzufügen unerwünschte Beiträge auszuschließen Das meta_key Sie nur richtig die Beiträge für die Bestellung ist verwenden

So etwas wie:

$args = array('showposts' => 20, 
       'cat' => array (1,2,7,8,9), 
       'meta_key' => 'datumsfeld', 
       'orderby' => 'meta_value', 
       'compare' => '>=', 
       'tax_query' => array(
            array(
             'taxonomy' => 'post_format', 
             'field' => 'slug', 
             'terms' => 'post-format-aside', 
             ) 
           ), 
        'meta_query' => array(
        array(
         'key'  => 'datumsfeld', 
         'value' => '...' /* something like today */, 
         'compare' => '>=', 
     ), 
    ), 
       ); 
+0

Danke Blackbam, wenn ich 'Wert' \t => Datum ('Ymd'), es funktioniert! – rabox66

Verwandte Themen