{"id":229382,"date":"2022-10-25T15:46:00","date_gmt":"2022-10-25T12:46:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=229382"},"modified":"2022-11-09T06:46:54","modified_gmt":"2022-11-09T03:46:54","slug":"interrogazione-di-tipi-di-post-di-eventi-con-wp-query-e-the-event-calendar","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/it\/interrogazione-di-tipi-di-post-di-eventi-con-wp-query-e-the-event-calendar\/","title":{"rendered":"Interrogazione di tipi di post di eventi con WP Query e The Event Calendar"},"content":{"rendered":"\n<p>Se hai lavorato con <a href=\"https:\/\/theeventscalendar.com\/product\/wordpress-events-calendar\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">The Event Calendar di Modern Tribe<\/a>, \u00e8 possibile che tu abbia familiarit\u00e0 con alcuni modi diversi per svolgere determinate attivit\u00e0.<\/p>\n<p>La home page del calendario degli eventi<\/p>\n<p>Cio\u00e8, creare eventi a livello di codice, alterare eventi, impostare eventi ripetuti (se \u00e8 la versione pro) e cos\u00ec via.<\/p>\n<p>Che cosa succede se, tuttavia, devi eseguire query sui tipi di post di eventi &#8211; alcuni o tutti, non importa &#8211; e scopri che la tua query non funziona? E no, non sto parlando di utilizzare una query SQL grezza o anche una versione parametrizzata con 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>Sto parlando di <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>Interrogazione dei tipi di post di eventi<\/h2>\n<p>Ecco in breve: se tenti di utilizzare WP_Query in un modo in cui sei abituato a usarlo (ovvero specificando manualmente il tipo di post), probabilmente non otterrai alcun risultato. Il che, ovviamente, non ha senso soprattutto quando puoi vederli in WordPress e nel database.<\/p>\n<p>Invece, gli argomenti per la query necessitano di:<\/p>\n<ul>\n<li>in considerazione diversi tipi di post,<\/li>\n<li>prendere in considerazione diversi stati dei post,<\/li>\n<li>e una chiave di matrice personalizzata univoca per il plug-in stesso (a partire dalla versione 3.0).<\/li>\n<\/ul>\n<p>In breve, una versione incredibilmente semplice degli argomenti dovrebbe assomigliare <a href=\"https:\/\/gist.github.com\/tommcfarlin\/060225016000be9d28488ff33a9c7e2a\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">a questa<\/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>Ma ecco il punto: questo non \u00e8 un caso universale. Ci sono momenti in cui potresti non specificare la chiave eventDisplay e ottenere comunque risultati. Allora cosa d\u00e0?<\/p>\n<h3>Leggi sempre la documentazione<\/h3>\n<p>Secondo <a href=\"https:\/\/theeventscalendar.com\/knowledgebase\/using-tribe_get_events\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">la documentazione<\/a> :<\/p>\n<blockquote>\n<p>eventDisplay viene utilizzato per indicare la forma generale della query, in genere pu\u00f2 essere imminente, passata o personalizzata (e se non specifichi nulla, presumer\u00e0 che tu sia interessato agli eventi imminenti)<\/p>\n<\/blockquote>\n<p>Quindi, se hai un evento imminente, andr\u00e0 tutto bene, ma se vuoi prendere tutto ci\u00f2 che hai nella tua installazione, specifica custom come valore.<\/p>\n<h2>L&#8217;immagine pi\u00f9 grande<\/h2>\n<p>Il motivo per cui mi sono imbattuto in questa idiosincrasia ha pi\u00f9 a che fare con l&#8217;implementazione della creazione di eventi e l&#8217;associazione con un particolare account utente.<\/p>\n<p>Ma entrer\u00f2 nei dettagli di questo in un altro post. Per ora, si tratta solo di assicurarci di poter interrogare i tipi di post di eventi e ottenere risultati con i quali possiamo lavorare.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte di registrazione:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ecco come iniziare a interrogare i tipi di post di eventi con WP Query per il calendario degli eventi e il livello di base degli argomenti di cui hai bisogno.<\/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":[918,896,720,865],"tags":[1168],"class_list":["post-229382","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-altro","category-codice","category-sviluppatore","category-wordpress-6","tag-affiai-it"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/229382","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/comments?post=229382"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/229382\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media\/221144"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media?parent=229382"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/categories?post=229382"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/tags?post=229382"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}