{"id":228510,"date":"2022-10-25T15:24:00","date_gmt":"2022-10-25T12:24:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=228510"},"modified":"2022-11-09T02:47:41","modified_gmt":"2022-11-08T23:47:41","slug":"odpytywanie-typow-postow-o-wydarzeniach-za-pomoca-zapytania-wp-i-kalendarza-wydarzen","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pl\/odpytywanie-typow-postow-o-wydarzeniach-za-pomoca-zapytania-wp-i-kalendarza-wydarzen\/","title":{"rendered":"Odpytywanie typ\u00f3w post\u00f3w o wydarzeniach za pomoc\u0105 zapytania WP i kalendarza wydarze\u0144"},"content":{"rendered":"\n<p>Je\u015bli wykona\u0142e\u015b jak\u0105kolwiek prac\u0119 z <a href=\"https:\/\/theeventscalendar.com\/product\/wordpress-events-calendar\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Kalendarzem wydarze\u0144 z Modern Tribe<\/a>, istnieje szansa, \u017ce \u200b\u200bznasz r\u00f3\u017cne sposoby wykonywania okre\u015blonych zada\u0144.<\/p>\n<p>Strona g\u0142\u00f3wna kalendarza wydarze\u0144<\/p>\n<p>Oznacza to programowe tworzenie wydarze\u0144, zmienianie wydarze\u0144, konfigurowanie powtarzaj\u0105cych si\u0119 wydarze\u0144 (je\u015bli jest to wersja pro) i tak dalej.<\/p>\n<p>Co jednak, je\u015bli musisz przej\u015b\u0107 do sprawdzania typ\u00f3w wpis\u00f3w o zdarzeniach \u2013 niekt\u00f3re lub wszystkie nie maj\u0105 znaczenia \u2013 i oka\u017ce si\u0119, \u017ce Twoje zapytanie nie dzia\u0142a? I nie, nie m\u00f3wi\u0119 o u\u017cywaniu surowego zapytania SQL ani nawet sparametryzowanej wersji z klas\u0105 <a href=\"https:\/\/developer.wordpress.org\/reference\/classes\/wpdb\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">$wpdb<\/a>.<\/p>\n<p>M\u00f3wi\u0119 o <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>Zapytanie o typy post\u00f3w o zdarzeniach<\/h2>\n<p>Oto skr\u00f3t: je\u015bli spr\u00f3bujesz u\u017cy\u0107 WP_Query w spos\u00f3b, do kt\u00f3rego jeste\u015b przyzwyczajony (czyli r\u0119cznie okre\u015blaj\u0105c typ postu), prawdopodobnie nie uzyskasz \u017cadnych wynik\u00f3w. Co oczywi\u015bcie nie ma sensu, zw\u0142aszcza gdy wida\u0107 je w WordPressie i bazie danych.<\/p>\n<p>Zamiast tego argumenty zapytania wymagaj\u0105:<\/p>\n<ul>\n<li>pod uwag\u0119 kilka typ\u00f3w post\u00f3w,<\/li>\n<li>pod uwag\u0119 kilka status\u00f3w post\u00f3w,<\/li>\n<li>oraz niestandardowy klucz tablicy, unikalny dla samej wtyczki (od wersji 3.0).<\/li>\n<\/ul>\n<p>Kr\u00f3tko m\u00f3wi\u0105c, niesamowicie podstawowa wersja argumentacji powinna wygl\u0105da\u0107 <a href=\"https:\/\/gist.github.com\/tommcfarlin\/060225016000be9d28488ff33a9c7e2a\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">tak<\/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>Ale o to chodzi: to nie jest przypadek uniwersalny. Czasami mo\u017cesz nie okre\u015bli\u0107 klucza eventDisplay i nadal uzyskiwa\u0107 wyniki. Wi\u0119c co daje?<\/p>\n<h3>Zawsze czytaj dokumentacj\u0119<\/h3>\n<p>Zgodnie <a href=\"https:\/\/theeventscalendar.com\/knowledgebase\/using-tribe_get_events\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">z dokumentacj\u0105<\/a> :<\/p>\n<blockquote>\n<p>eventDisplay s\u0142u\u017cy do wskazania og\u00f3lnego kszta\u0142tu zapytania \u2013 zazwyczaj mo\u017ce to by\u0107 jedno z nadchodz\u0105cych, przesz\u0142ych lub niestandardowe (a je\u015bli nie okre\u015blisz niczego, za\u0142o\u017cysz, \u017ce jeste\u015b zainteresowany nadchodz\u0105cymi wydarzeniami)<\/p>\n<\/blockquote>\n<p>Wi\u0119c je\u015bli masz nadchodz\u0105ce wydarzenie, wszystko b\u0119dzie dobrze, ale je\u015bli chcesz pobra\u0107 wszystko, co masz w swojej instalacji, okre\u015bl niestandardowe jako swoj\u0105 warto\u015b\u0107.<\/p>\n<h2>Wi\u0119kszy obraz<\/h2>\n<p>Pow\u00f3d, dla kt\u00f3rego natkn\u0105\u0142em si\u0119 na t\u0119 specyfik\u0119, ma wi\u0119cej wsp\u00f3lnego z implementacj\u0105 tworzenia wydarze\u0144 i kojarzeniem ich z konkretnym kontem u\u017cytkownika.<\/p>\n<p>Ale om\u00f3wi\u0119 to w innym po\u015bcie. Na razie chodzi o upewnienie si\u0119, \u017ce mo\u017cemy przej\u015b\u0107 do sprawdzania typ\u00f3w post\u00f3w o zdarzeniach i uzyska\u0107 wyniki, z kt\u00f3rymi mo\u017cemy pracowa\u0107.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">\u0179r\u00f3d\u0142o nagrywania:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Oto jak rozpocz\u0105\u0107 wysy\u0142anie zapyta\u0144 o typy wpis\u00f3w o wydarzeniach za pomoc\u0105 WP Query dla Kalendarza wydarze\u0144 i podstawowego poziomu argument\u00f3w, kt\u00f3rych potrzebujesz.<\/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":[721,919,897,866],"tags":[1169],"class_list":["post-228510","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-deweloper","category-inny","category-kod","category-wordpress-7","tag-affiai-pl"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts\/228510","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/comments?post=228510"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts\/228510\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/media\/221144"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/media?parent=228510"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/categories?post=228510"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/tags?post=228510"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}