{"id":230788,"date":"2022-12-20T15:03:00","date_gmt":"2022-12-20T12:03:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=230788"},"modified":"2022-12-07T10:14:29","modified_gmt":"2022-12-07T07:14:29","slug":"uzyj-aktualnego-identyfikatora-uzytkownika-z-podami-dla-wordpress","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pl\/uzyj-aktualnego-identyfikatora-uzytkownika-z-podami-dla-wordpress\/","title":{"rendered":"U\u017cyj aktualnego identyfikatora u\u017cytkownika z podami dla WordPress"},"content":{"rendered":"\n<p>Pods <a href=\"https:\/\/pods.io\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Framework for WordPress<\/a>, specjalne narz\u0119dzie, kt\u00f3re istnieje od d\u0142u\u017cszego czasu, oferuje wiele funkcji, kt\u00f3re umo\u017cliwiaj\u0105 prac\u0119 z zaawansowanymi typami tre\u015bci, ustawieniami niestandardowymi i tak dalej.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-160795-61e7139049979.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-160795-61e7139049979.png\" alt=\"U\u017cyj aktualnego identyfikatora u\u017cytkownika z podami dla WordPress\" ><\/a><\/p>\n<p>Wspominam o tym, poniewa\u017c Pods jest popularnym narz\u0119dziem i dost\u0119pnych jest kilka funkcji, kt\u00f3re zapewniaj\u0105 niez\u0142\u0105 funkcjonalno\u015b\u0107.<\/p>\n<p>Dzi\u0119ki wykorzystaniu kr\u00f3tkich kod\u00f3w mo\u017cliwe jest wykonywanie pot\u0119\u017cnych zapyta\u0144 do bazy danych w celu pobrania informacji w celu dynamicznego wype\u0142niania formularzy.<\/p>\n<p>Jednym z przypadk\u00f3w u\u017cycia, kt\u00f3ry widz\u0119 w kilku wynikach, jest wype\u0142nienie kr\u00f3tkiego kodu identyfikatorem bie\u017c\u0105cego u\u017cytkownika. Jest na ten temat <a href=\"https:\/\/pods.io\/forums\/topic\/how-to-filted-pod-items-created-by-the-current-user-and-show-them-in-front-end\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">post na forum<\/a> i ci\u0105g\u0142a dyskusja na ten temat <a href=\"https:\/\/stackoverflow.com\/questions\/13490230\/how-to-delegate-to-a-shortcode-function-in-order-to-filter-pod-items-created-by\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">na Stack Overflow<\/a>.<\/p>\n<p>Ale je\u015bli szukasz sposobu na filtrowanie tre\u015bci, aby to zrobi\u0107 bez przerabiania niekt\u00f3rych istniej\u0105cych skr\u00f3t\u00f3w, istnieje inny spos\u00f3b na zrobienie tego.<\/p>\n<h2>U\u017cyj bie\u017c\u0105cego identyfikatora u\u017cytkownika z podami<\/h2>\n<p>Za\u0142\u00f3\u017cmy, \u017ce chcesz wype\u0142ni\u0107 formularz identyfikatorem bie\u017c\u0105cego u\u017cytkownika bez skr\u00f3conego kodu; mo\u017cesz to zrobi\u0107 za pomoc\u0105 tokena i filtra.<\/p>\n<p>Za\u0142\u00f3\u017cmy na przyk\u0142ad, \u017ce Tw\u00f3j kr\u00f3tki kod wygl\u0105da mniej wi\u0119cej <a href=\"https:\/\/gist.github.com\/tommcfarlin\/c8d786d7ca5871a7178e7e7a8ef8443d#file-00-pods-form-txt\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">tak<\/a> :<\/p>\n<pre><code>[pods-form name=\"user\" fields=\"first_name, last_name\" where=\"current_user_id = user_id\" label=\"Update\"]<\/code><\/pre>\n<p>Aby to przefiltrowa\u0107, w przeciwie\u0144stwie do u\u017cywania skr\u00f3conego kodu, mo\u017cesz <a href=\"https:\/\/gist.github.com\/tommcfarlin\/c8d786d7ca5871a7178e7e7a8ef8443d#file-01-filter-pods-by-current-user-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">wykona\u0107 nast\u0119puj\u0105ce czynno\u015bci<\/a> :<\/p>\n<pre><code>&lt;?php\nadd_filter('the_content', __NAMESPACE__. 'filter_pods_by_current_user');\n\/**\n * Replaces the current_user_id = user_id with the current user ID in the\n * incoming content (which includes the Pods shortcode).\n *\n * @param  string $content the content of the shortcode.\n * @return string          the result of the parsed shortcode.\n *\/\nfunction filter_pods_by_current_user($content)\n{\n    $user = wp_get_current_user();\n\n    return str_ireplace(\n        'current_user_id = user_id',\n        \"id='\". $user-&gt;ID. \"'\",\n        $content\n    );\n}\n<\/code><\/pre>\n<p>Spowoduje to wyszukanie okre\u015blonego tokenu w \u0142a\u0144cuchu, zast\u0105pienie go, a nast\u0119pnie zwr\u00f3cenie go z przyjaznym dla Pods atrybutem shortcode przed przetworzeniem shortcode.<\/p>\n<p>Nast\u0119pnie Pody wykonaj\u0105 zapytanie tak, aby wygl\u0105da\u0142o <a href=\"https:\/\/gist.github.com\/tommcfarlin\/c8d786d7ca5871a7178e7e7a8ef8443d#file-02-final-result-txt\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">mniej wi\u0119cej tak<\/a> (przy za\u0142o\u017ceniu, \u017ce identyfikator bie\u017c\u0105cego u\u017cytkownika wynosi 100):<\/p>\n<pre><code>[pods-form name=\"user\" fields=\"first_name, last_name\" where=\"id = 100\" label=\"Update\"]<\/code><\/pre>\n<p>Jedn\u0105 rzecz\u0105, kt\u00f3r\u0105 chc\u0119 wyja\u015bni\u0107, jest to, \u017ce niekoniecznie polecam to za pomoc\u0105 manipulacji kr\u00f3tkim kodem.<\/p>\n<p>Zamiast tego u\u017cyj tego, co najlepiej pasuje do sytuacji. Je\u015bli to shortcodes, zobacz kod po\u0142\u0105czony we wst\u0119pie; w przeciwnym razie mo\u017ce powy\u017cszy filtr dzia\u0142a dobrze.<\/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>Jednym ze sposob\u00f3w filtrowania tre\u015bci posta w celu uzyskania bie\u017c\u0105cego identyfikatora u\u017cytkownika za pomoc\u0105 Pods dla WordPress.<\/p>\n","protected":false},"author":1,"featured_media":234973,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[721,836,1020,845,866],"tags":[1169],"class_list":["post-230788","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-deweloper","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\/230788","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=230788"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts\/230788\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/media\/234973"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/media?parent=230788"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/categories?post=230788"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/tags?post=230788"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}