2017-07-10 1 views
1

J'utilise wp_get_archives comme suit avec mon type de poste personnalisé:wp_get_archives filtre par plage: ce mois-ci, le mois dernier/cette année, l'année dernière

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

Y at-il un moyen de filtrer ce par tranche de date relative : 1) cette semaine 2) la semaine dernière 3) cette année 4) l'année dernière

Tout conseil serait apprécié!

Répondre

1

Il y a moyen de le faire. Vous pouvez utiliser le filtre ci-dessous pour l'atteindre, Ajouter.

Filtre getarchives_where

codex Référence:https://developer.wordpress.org/reference/hooks/getarchives_where/

code Exemple:

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

Merci pour l'entrée. dans votre exemple, il existe une plage de dates fixe, bien que la plage de dates "l'année dernière" change chaque année. Comment pourrais-je appliquer cette date dynamique à votre code? – user3615851

+0

Salut, j'ai mis à jour le code, il va chercher entre l'année en cours et l'année prochaine. –