2017-07-10 6 views
1

Ich verwende wp_get_archives als mit meinem benutzerdefinierten Post-Typ folge:wp_get_archives Filter nach Bereich: in diesem Monat, im letzten Monat/in diesem Jahr, im vergangenen Jahr

<?php $args = array(
     'post_type' => 'donation', 
     'type'   => 'yearly', 
     'limit'  => '1', 
     'echo'   => 0 
    ); 
    echo '<ul>'.wp_get_archives($args).'</ul>'; ?> 

Gibt es eine Möglichkeit, dies durch eine relativen Datumsbereich zu filtern : würde diese Woche 1) 2) letzte Woche 3) in diesem Jahr 4) im vergangenen Jahr

Jede Beratung zu schätzen!

Antwort

1

Es gibt eine Möglichkeit, es zu tun. Sie können unten Filter verwenden, um es zu erreichen, Hinzufügen.

Filter getarchives_where

codex Referenz:https://developer.wordpress.org/reference/hooks/getarchives_where/

Beispielcode:

add_filter('getarchives_where', 'customFunction'); 
function customFunction($where, $args){ 
    //Add any specific post type check if required 
    $startDate = date('Y'); 
    $endDate = date('Y', strtotime('+1 year')); 
     $where.= ' AND `post_date` BETWEEN ' . $startDate . ' AND '.$endDate.''; 

    return $where; 

} 
+0

Danke für den Eingang. In Ihrem Beispiel gibt es einen festen Datumsbereich, obwohl sich der Datumsbereich "letztes Jahr" jedes Jahr ändert. Wie kann ich dieses dynamische Datum auf Ihren Code anwenden? – user3615851

+0

Hallo, Ich habe den Code aktualisiert, es wird zwischen dem aktuellen Jahr und dem nächsten Jahr suchen. –

Verwandte Themen