web-dev-qa-db-fra.com

Comment créer un filtre de publication Wordpress que les utilisateurs peuvent utiliser pour filtrer les publications par année?

Je souhaite avoir un menu déroulant en haut de la page d'archive ou d'autres pages avec boucle de publication permettant aux utilisateurs de filtrer les publications par date (année).

Il y aura un menu déroulant avec toutes les années, les postes sont publiés. Ex: 2017, 2018, 2019

Ma boucle:

<?php
    $args = array(
        'cat' => $FeaturedNewsCat,
        'posts_per_page' => 2,
        'order' => DSC
    );
    $the_query = new WP_Query($args);
    while ( $the_query->have_posts() ) : $the_query->the_post();
?>

        <!--Post Template Comes Here-->

<?php
    endwhile;
    wp_reset_postdata();
?>

Dites-moi ce que je dois faire pour implémenter la fonction de filtrage. Toute aide est appréciée.

1
Web People

Je suis à peu près sûr que vous n'avez même pas essayé de chercher une solution ... Si vous le faisiez, je suis sûr que vous viendriez dans cette page du Codex , où vous pouvez trouver ce code:

<select name="archive-dropdown" onchange="document.location.href=this.options[this.selectedIndex].value;">
  <option value=""><?php echo esc_attr( __( 'Select Month' ) ); ?></option> 
  <?php wp_get_archives( array( 'type' => 'monthly', 'format' => 'option', 'show_post_count' => 1 ) ); ?>
</select>

Qui affiche une liste déroulante d'archives mensuelles, dans les balises de sélection, avec le nombre de messages affichés.

Tout ce que vous avez à faire est de changer 'monthly' en 'yearly' et de commencer à utiliser le modèle d'archive et le wp_query global et non votre propre personnalisé.

1
Krzysiek Dróżdż