{"id":228981,"date":"2022-10-25T15:43:00","date_gmt":"2022-10-25T12:43:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=228981"},"modified":"2022-11-09T05:03:04","modified_gmt":"2022-11-09T02:03:04","slug":"interroger-les-types-de-publications-devenements-avec-wp-query-et-le-calendrier-des-evenements","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/fr\/interroger-les-types-de-publications-devenements-avec-wp-query-et-le-calendrier-des-evenements\/","title":{"rendered":"Interroger les types de publications d&rsquo;\u00e9v\u00e9nements avec WP Query et le calendrier des \u00e9v\u00e9nements"},"content":{"rendered":"\n<p>Si vous avez travaill\u00e9 avec <a href=\"https:\/\/theeventscalendar.com\/product\/wordpress-events-calendar\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">The Event Calendar de Modern Tribe<\/a>, il est possible que vous connaissiez diff\u00e9rentes fa\u00e7ons d&rsquo;effectuer certaines t\u00e2ches.<\/p>\n<p>La page d&rsquo;accueil du calendrier des \u00e9v\u00e9nements<\/p>\n<p>C&rsquo;est-\u00e0-dire cr\u00e9er des \u00e9v\u00e9nements par programmation, modifier des \u00e9v\u00e9nements, configurer des \u00e9v\u00e9nements r\u00e9p\u00e9t\u00e9s (s&rsquo;il s&rsquo;agit de la version pro), etc.<\/p>\n<p>Que se passe-t-il si, cependant, vous devez interroger les types de publication d&rsquo;\u00e9v\u00e9nements &#8211; certains ou tous, peu importe &#8211; et que vous constatez que votre requ\u00eate ne fonctionne pas? Et non, je ne parle pas d&rsquo;utiliser une requ\u00eate SQL brute ou m\u00eame une version param\u00e9tr\u00e9e avec la classe <a href=\"https:\/\/developer.wordpress.org\/reference\/classes\/wpdb\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">$wpdb<\/a>.<\/p>\n<p>Je parle de <a href=\"https:\/\/developer.wordpress.org\/reference\/classes\/wp_query\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">WP_Query<\/a>.<\/p>\n<h2>Interroger les types de publication d&rsquo;\u00e9v\u00e9nement<\/h2>\n<p>En voici le r\u00e9sum\u00e9\u00a0: si vous essayez d&rsquo;utiliser WP_Query d&rsquo;une mani\u00e8re \u00e0 laquelle vous \u00eates habitu\u00e9 (c&rsquo;est-\u00e0-dire en sp\u00e9cifiant manuellement le type de publication), vous n&rsquo;obtiendrez probablement aucun r\u00e9sultat. Ce qui, bien s\u00fbr, n&rsquo;a aucun sens surtout quand on peut les voir dans WordPress et la base de donn\u00e9es.<\/p>\n<p>Au lieu de cela, les arguments de la requ\u00eate doivent\u00a0:<\/p>\n<ul>\n<li>plusieurs types de poste en compte,<\/li>\n<li>plusieurs statuts de poste en compte,<\/li>\n<li>et une cl\u00e9 de tableau personnalis\u00e9e unique au plugin lui-m\u00eame (\u00e0 partir de la version 3.0).<\/li>\n<\/ul>\n<p>En bref, une version incroyablement basique des arguments devrait ressembler <a href=\"https:\/\/gist.github.com\/tommcfarlin\/060225016000be9d28488ff33a9c7e2a\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">\u00e0 ceci<\/a> :<\/p>\n<pre><code>&lt;?php\n\n$args = array(\n    'post_type'      =&gt; array( TribeEvents::POSTTYPE, 'revision' ),\n    'post_status'    =&gt; array( 'publish', 'inherit', 'any' ),\n    'eventDisplay'   =&gt; 'custom',\n);\n$event_query = new WP_Query( $args );<\/code><\/pre>\n<p>Mais voici la chose: ce n&rsquo;est pas un cas universel. Il arrive parfois que vous ne sp\u00e9cifiiez pas la cl\u00e9 eventDisplay et que vous obteniez quand m\u00eame des r\u00e9sultats. Alors qu&rsquo;est-ce qui donne ?<\/p>\n<h3>Lisez toujours la documentation<\/h3>\n<p>D&rsquo;apr\u00e8s <a href=\"https:\/\/theeventscalendar.com\/knowledgebase\/using-tribe_get_events\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">la documentation<\/a> :<\/p>\n<blockquote>\n<p>eventDisplay est utilis\u00e9 pour indiquer la forme g\u00e9n\u00e9rale de la requ\u00eate &#8211; g\u00e9n\u00e9ralement, il peut s&rsquo;agir d&rsquo;un \u00e9v\u00e9nement \u00e0 venir, pass\u00e9 ou personnalis\u00e9 (et si vous ne sp\u00e9cifiez rien, cela supposera que vous \u00eates int\u00e9ress\u00e9 par les \u00e9v\u00e9nements \u00e0 venir)<\/p>\n<\/blockquote>\n<p>Donc, si vous avez un \u00e9v\u00e9nement \u00e0 venir, tout ira bien, mais si vous voulez r\u00e9cup\u00e9rer tout ce que vous avez dans votre installation, sp\u00e9cifiez personnalis\u00e9 comme valeur.<\/p>\n<h2>La vue d&rsquo;ensemble<\/h2>\n<p>La raison pour laquelle je suis tomb\u00e9 sur cette idiosyncrasie est davantage li\u00e9e \u00e0 la mise en \u0153uvre de la cr\u00e9ation d&rsquo;\u00e9v\u00e9nements et \u00e0 leur association avec un compte d&rsquo;utilisateur particulier.<\/p>\n<p>Mais j&rsquo;entrerai dans les d\u00e9tails de cela dans un autre post. Pour l&rsquo;instant, il s&rsquo;agit de s&rsquo;assurer que nous pouvons interroger les types de publications d&rsquo;\u00e9v\u00e9nements et obtenir des r\u00e9sultats avec lesquels nous pouvons travailler.<\/p>\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>Voici comment commencer \u00e0 interroger les types de publications d&rsquo;\u00e9v\u00e9nements avec WP Query pour le calendrier des \u00e9v\u00e9nements et le niveau de base des arguments dont vous avez besoin.<\/p>\n","protected":false},"author":1,"featured_media":221144,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[915,893,717,862],"tags":[1167],"class_list":["post-228981","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-autre","category-code-2","category-developpeur","category-wordpress-3","tag-affiai-fr"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/posts\/228981","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=228981"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/posts\/228981\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/media\/221144"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/media?parent=228981"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/categories?post=228981"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/tags?post=228981"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}