{"id":231998,"date":"2023-01-07T17:43:00","date_gmt":"2023-01-07T14:43:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=231998"},"modified":"2023-01-07T17:44:31","modified_gmt":"2023-01-07T14:44:31","slug":"rechercher-par-programme-les-publications-wordpress-par-plage-de-dates","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/fr\/rechercher-par-programme-les-publications-wordpress-par-plage-de-dates\/","title":{"rendered":"Rechercher par programme les publications WordPress par plage de dates"},"content":{"rendered":"<p><strong>TL; DR\u00a0:<\/strong> Le code partag\u00e9 dans ce message montre comment vous pouvez modifier la requ\u00eate qui s&rsquo;ex\u00e9cute sur la page <strong>Tous les messages<\/strong> afin que vous puissiez limiter la fa\u00e7on dont vous recherchez des messages \u00e0 une plage de dates sp\u00e9cifi\u00e9e.<\/p>\n<p>Cela fait un petit moment que <a href=\"https:\/\/wordpress.mediadoma.com\/fr\/rechercher-les-metadonnees-de-publication-dans-la-zone-dadministration-de-wordpress\/\" title=\"je n'ai pas \u00e9crit\">je n&rsquo;ai pas \u00e9crit<\/a> sur l&rsquo;utilisation du <code>post_where<\/code>filtre pour modifier la requ\u00eate de recherche qui s&rsquo;ex\u00e9cute sur une page donn\u00e9e, comme la zone <strong>All Posts<\/strong> de WordPress. Mais \u00e9tant donn\u00e9 qu&rsquo;il existe une vari\u00e9t\u00e9 d&rsquo;utilisations pour r\u00e9cup\u00e9rer des messages &#8211; et des types de messages personnalis\u00e9s &#8211; de diff\u00e9rentes mani\u00e8res, il existe diff\u00e9rentes fa\u00e7ons d&rsquo;utiliser ce filtre unique.<\/p>\n<h2>Rechercher des messages par plage de dates<\/h2>\n<p>Pour rechercher des publications par plage de dates, voici ce qui doit se passer\u00a0:<\/p>\n<ol>\n<li>Enregistrez un rappel avec le <code>posts_where<\/code>filtre,<\/li>\n<li>Assurez-vous que la fonction accepte la cha\u00eene pour <code>where<\/code>et l&rsquo;instance de <code>WP_Query<\/code>qui s&rsquo;ex\u00e9cute sur la page<\/li>\n<li>Obtenez la date et l&rsquo;heure d&rsquo;aujourd&rsquo;hui et la date et l&rsquo;heure d&rsquo;il y a quatre semaines<\/li>\n<li>Ajouter la <code>where<\/code>clause au d\u00e9but pour limiter les r\u00e9sultats \u00e0 la date<\/li>\n<li><code>return<\/code>la requ\u00eate mise \u00e0 jour.<\/li>\n<\/ol>\n<pre><code>&lt;?php\nadd_filter( \n  'posts_where',\n  function (string $where, WP_Query $query ): string {\n    global $wpdb;\n\n    $todays_date   = gmdate( 'Y-m-d H:i:s', strtotime( 'now') );\n    $four_weeks_ago = gmdate( 'Y-m-d H:i:s', strtotime( '-4 weeks') );\n\n    $prepend = $wpdb-&gt;prepare(\n      \" AND {$wpdb-&gt;posts}.post_date &gt; %s\",\n      $four_weeks_ago\n    );\n\n    $prepend .= $wpdb-&gt;prepare(\n      \" AND {$wpdb-&gt;posts}.post_date &lt; %s\",\n      $todays_date\n    );\n\n    return $prepend. $where;\n  }, 101, 2\n);<\/code><\/pre>\n<p>Le r\u00e9sultat de cette fonction est une requ\u00eate modifi\u00e9e qui limite les publications renvoy\u00e9es \u00e0 la date et \u00e0 l&rsquo;heure sp\u00e9cifi\u00e9es. \u00c0 savoir, il y a quatre semaines jusqu&rsquo;\u00e0 l&rsquo;heure, la minute et la seconde.<\/p>\n<p>Vous pouvez changer cela en mettant \u00e0 jour la <code>-4 weeks<\/code>cha\u00eene transmise \u00e0 la <code>strtotime<\/code>fonction (mais je vous recommande de consulter la page de manuel PHP li\u00e9e ci-dessous pour comprendre comment cette fonction fonctionne avec un langage comme celui-ci).<\/p>\n<h2>R\u00e9f\u00e9rences<\/h2>\n<ul>\n<li><code>[posts_where](https:\/\/developer.wordpress.org\/reference\/hooks\/posts_where\/)<\/code><\/li>\n<li><code>[WP_Query](https:\/\/developer.wordpress.org\/reference\/classes\/wp_query\/)<\/code><\/li>\n<li><code>[wpdb](https:\/\/developer.wordpress.org\/reference\/classes\/wpdb\/)<\/code><\/li>\n<li><code>[gmdate](https:\/\/www.php.net\/manual\/en\/function.gmdate.php)<\/code><\/li>\n<li><code>[strtotime](https:\/\/www.php.net\/manual\/en\/function.strtotime.php)<\/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>Le code partag\u00e9 dans cet article montre comment vous pouvez rechercher des articles par plage de dates sur la page Tous les articles.<\/p>\n","protected":false},"author":1,"featured_media":158377,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[893,717,832,801,841,862],"tags":[1167],"class_list":["post-231998","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-code-2","category-developpeur","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\/231998","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=231998"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/posts\/231998\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/media\/158377"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/media?parent=231998"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/categories?post=231998"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/tags?post=231998"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}