{"id":231550,"date":"2023-01-09T20:05:00","date_gmt":"2023-01-09T17:05:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=231550"},"modified":"2022-12-25T18:57:24","modified_gmt":"2022-12-25T15:57:24","slug":"sprawne-przekazywanie-zmiennych-do-szablonu-wordpress","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pl\/sprawne-przekazywanie-zmiennych-do-szablonu-wordpress\/","title":{"rendered":"Sprawne przekazywanie zmiennych do szablonu WordPress"},"content":{"rendered":"<p>Jednym z wyzwa\u0144, przed kt\u00f3rymi stoj\u0105 tw\u00f3rcy motyw\u00f3w lub wtyczek, <code>get_template_part<\/code>jest brak mo\u017cliwo\u015bci przekazywania zmiennych do za\u0142adowanego szablonu WordPress. Istnieje jednak alternatywa przy u\u017cyciu <code>locate_template<\/code>.<\/p>\n<h3>Przegl\u0105d<\/h3>\n<p>W tym przyk\u0142adzie wy\u015bwietlimy trzy wpisy <a href=\"https:\/\/easydigitaldownloads.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Easy Digital Download<\/a>. U\u017cywam EDD od jakiego\u015b czasu i chocia\u017c ma wiele funkcji, wci\u0105\u017c jest zaskakuj\u0105co lekki.<\/p>\n<p>Pobieramy wpisy i zapisujemy je w zmiennej <code>$edd_download<\/code>. Nast\u0119pnie za\u0142adujemy szablon <a href=\"https:\/\/startfunction.com\/category\/wordpress\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">WordPress<\/a>, przekazuj\u0105c zmienn\u0105. W rzeczywisto\u015bci przekazanie zmiennej to powiedzenie za du\u017co: po prostu za\u0142adujemy szablon w taki spos\u00f3b, \u017ce <code>$edd_download<\/code>zmienna ma odpowiedni zakres do u\u017cycia w za\u0142adowanym szablonie.<\/p>\n<h3>\u0141adowanie szablonu WordPress<\/h3>\n<p>Ten kod mo\u017cna umie\u015bci\u0107 w funkcji. Nast\u0119pnie mo\u017cesz pod\u0142\u0105czy\u0107 t\u0119 funkcj\u0119 do obszaru swojego motywu za pomoc\u0105 zaczepu akcji lub po prostu wywo\u0142a\u0107 funkcj\u0119 jako znacznik szablonu. W moich motywach u\u017cywam hook\u00f3w, aby u\u017cytkownicy mogli p\u00f3\u017aniej dodawa\u0107 lub usuwa\u0107 tre\u015bci. To wszystko, czego potrzebujemy do kodu:<\/p>\n<pre><code> 'download',\n    'posts_per_page' =&gt; 3,) );\n\nif ($edd_download) {\n\n    $part = locate_template( 'parts\/download-home.php' );\n    if ('' != $part) {\n\n        require $part;\n    }\n}<\/code><\/pre>\n<h3>Kod szablonu<\/h3>\n<p>Teraz potrzebujemy pliku szablonu WordPress. Je\u015bli zauwa\u017cysz powy\u017csze wywo\u0142anie, <code>locate_template<\/code>spodziewa si\u0119 znale\u017a\u0107 plik <code>download-home.php<\/code>w katalogu <code>parts<\/code>wewn\u0105trz folderu motywu.<\/p>\n<p>Musimy zawsze pami\u0119ta\u0107 o wywo\u0142aniu <code>wp_reset_postdata()<\/code>po p\u0119tli foreach, je\u015bli wywo\u0142ali\u015bmy <code>setup_postdata()<\/code>.<\/p>\n<h3>S\u0142owa zamykaj\u0105ce<\/h3>\n<p>Wi\u0119c po tym wszystkim, dlaczego jest to przydatne? poniewa\u017c u\u017cytkownicy mog\u0105 utworzy\u0107 szablon w motywie podrz\u0119dnym i \u0142atwo zast\u0105pi\u0107 oryginalny szablon. Chodzi o u\u0142atwienie \u017cycia Twoim u\u017cytkownikom. Oczywi\u015bcie, mo\u017cna to r\u00f3wnie\u017c osi\u0105gn\u0105\u0107 poprzez filtry lub tworzenie funkcji wtykowych, ale niekt\u00f3rzy u\u017cytkownicy mog\u0105 uzna\u0107 edytowanie szablonu skupionego na jednym zadaniu za czystsze podej\u015bcie ni\u017c zajmowanie si\u0119 plikiem z wieloma funkcjami dla kilku r\u00f3\u017cnych i niepowi\u0105zanych zada\u0144.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">\u0179r\u00f3d\u0142o nagrywania:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/startfunction.com\" class=\"external external_icon\">startfunction.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Naucz si\u0119 sprawnie przekazywa\u0107 zmienne do szablonu WordPress i u\u017cywa\u0107 ich w nim<\/p>\n","protected":false},"author":1,"featured_media":157983,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[721,919,897,836,1020,845,866],"tags":[1169],"class_list":["post-231550","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-deweloper","category-inny","category-kod","category-przewodnik-dla-poczatkujacych","category-przydatne-strony","category-samouczki","category-wordpress-7","tag-affiai-pl"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts\/231550","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=231550"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts\/231550\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/media\/157983"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/media?parent=231550"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/categories?post=231550"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/tags?post=231550"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}