web-dev-qa-db-fra.com

Comment mettre la dernière entrée modifiée en haut de la liste des articles de blog?

Dans la liste de mes articles de blog, l'entrée "Dernière publication" est en haut. Je voudrais voir l'entrée "dernière édition" en haut de cette liste.

Je ne pouvais pas trouver de réglage pour cela, alors comment puis-je le réaliser?

4
Edward

Comme indiqué dans mon commentaire à l'OP, vous devez utiliser pre_get_posts pour cibler la modification des variables de la requête selon les besoins avant l'exécution de la requête principale.

Juste un conseil, pre_get_posts utilise les mêmes paramètres exacts que WP_Query , afin que vous puissiez consulter ces paramètres et les utiliser pour construire vos paramètres d'action pre_get_post. modifier les variables de la requête

Pour obtenir ce que vous recherchez, vous devez examiner les paramètres orderby et order. Vous voudrez utiliser la valeur modified pour le paramètre orderby.

N'oubliez pas que, avec pre_get_posts, vous pouvez cibler des pages/modèles spécifiques à l'aide des balises conditionnelles . Cependant, cela ne fonctionnera pas si votre page que vous souhaitez cibler est une page d'accueil statique, vous devrez alors utiliser WP_Query pour construire une requête personnalisée avec les paramètres souhaités.

Vous pouvez essayer quelque chose comme ceci dans votre functions.php. Ici, je vais cibler uniquement la page d'accueil

add_action( 'pre_get_posts', function( $query ) {
    if ( !is_admin() && $query->is_home() && $query->is_main_query() ) {
        $query->set( 'orderby', 'modified' );
    }
});
3
Pieter Goosen