{"id":231942,"date":"2023-01-05T09:53:00","date_gmt":"2023-01-05T06:53:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=231942"},"modified":"2022-11-10T05:49:16","modified_gmt":"2022-11-10T02:49:16","slug":"trier-les-articles-wordpress-par-date","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/fr\/trier-les-articles-wordpress-par-date\/","title":{"rendered":"Trier les articles WordPress par date"},"content":{"rendered":"<p><strong>TL; DR\u00a0:<\/strong> Si vous cherchez un moyen simple de trier les publications WordPress par date (qu&rsquo;elle soit d\u00e9croissante ou croissante) dans la zone d&rsquo;administration sans que les utilisateurs cliquent sur l&rsquo;en-t\u00eate de la colonne Date, vous pouvez le faire en utilisant le <code>pre_get_posts<\/code>filtre qui fournit une r\u00e9f\u00e9rence \u00e0 l&rsquo;instance <code>WP_Query<\/code>en cours d&rsquo;ex\u00e9cution sur la page.<\/p>\n<p>Pour des exemples de code sur la fa\u00e7on de proc\u00e9der, consultez le reste de l&rsquo;article.<\/p>\n<h2>Trier les publications WordPress<\/h2>\n<p>Cet article est \u00e9crit de telle sorte qu&rsquo;il suppose que votre configuration est bas\u00e9e sur la classe. Cela signifie que la configuration du filtre est d\u00e9finie dans une fonction telle que <code>init<\/code>et qu&rsquo;elle appelle un <code>public<\/code>nom de fonction sur la classe telle que <code>sort_articles_by_recent_time<\/code>.<\/p>\n<p>Enfin, il d\u00e9finit une priorit\u00e9 de <code>10<\/code>et sp\u00e9cifie que la fonction acceptera un seul argument (qui est une instance de <code>WP_Query<\/code>.<\/p>\n<p>Commencez par ajouter le filtre suivant\u00a0:<\/p>\n<pre><code>add_action( 'pre_get_posts', [ $this, 'sort_articles_by_recent_time' ], 10, 1 );<\/code><\/pre>\n<p>Ajoutez ensuite la fonction suivante :<\/p>\n<pre><code>public function sort_articles_by_recent_time( WP_Query $query) {\n  global $pagenow;\n  if (! is_admin() || 'edit.php' !== $pagenow) {\n    return;\n  }\n\n  $query-&gt;set( 'orderby', 'date' );\n  $query-&gt;set( 'order', 'desc' );\n }<\/code><\/pre>\n<p>Voici comment \u00e7a fonctionne:<\/p>\n<ol>\n<li>A noter les premi\u00e8res v\u00e9rifications conditionnelles si on n&rsquo;est pas dans la zone d&rsquo;administration ou si on n&rsquo;est pas sur la <code>edit.php<\/code>page (qui est la page de listing des publications), on quitte simplement la fonctionnalit\u00e9. Il s&rsquo;agit d&rsquo;une clause de garde ou d&rsquo;un retour anticip\u00e9.<\/li>\n<li>Si nous remplissons ces deux crit\u00e8res, nous mettrons \u00e0 jour la requ\u00eate afin qu&rsquo;elle ordonne les publications par date dans l&rsquo;ordre d\u00e9croissant. Cela signifie que les dates les plus r\u00e9centes seront toujours r\u00e9pertori\u00e9es en haut.<\/li>\n<\/ol>\n<p>Cela ne tient pas compte du statut de la publication (donc s&rsquo;il s&rsquo;agit d&rsquo; <code>draft<\/code>une publication ou d&rsquo;une publication avec le <code>publish<\/code>statut, cela n&rsquo;aura pas d&rsquo;importance). De plus, cela \u00e9vitera aux utilisateurs d&rsquo;avoir \u00e0 cliquer sur l&rsquo;en-t\u00eate de colonne Date pour trier les r\u00e9sultats selon les besoins si c&rsquo;est quelque chose que vous d\u00e9sirez tant dans votre solution.<\/p>\n<h3>R\u00e9f\u00e9rences<\/h3>\n<ul>\n<li><code>[pre_get_posts](https:\/\/developer.wordpress.org\/reference\/hooks\/pre_get_posts\/)<\/code><\/li>\n<li><code>[WP_Query](https:\/\/developer.wordpress.org\/reference\/classes\/wp_query\/)<\/code><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Source d&rsquo;enregistrement:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Un moyen simple de trier les publications WordPress par date (qu&rsquo;elle soit d\u00e9croissante ou ascendante) dans la zone d&rsquo;administration sans que les utilisateurs ne cliquent sur l&rsquo;en-t\u00eate de colonne Date<\/p>\n","protected":false},"author":1,"featured_media":158594,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[893,832,801,841,862],"tags":[1167],"class_list":["post-231942","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-code-2","category-guide-pour-les-debutants","category-php-3","category-tutoriels","category-wordpress-3","tag-affiai-fr"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/posts\/231942","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/comments?post=231942"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/posts\/231942\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/media\/158594"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/media?parent=231942"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/categories?post=231942"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/tags?post=231942"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}