{"id":228817,"date":"2022-11-03T14:58:00","date_gmt":"2022-11-03T11:58:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=228817"},"modified":"2022-11-09T04:23:18","modified_gmt":"2022-11-09T01:23:18","slug":"czym-sa-pamieci-podreczne-uzytkownikow-wordpress","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pl\/czym-sa-pamieci-podreczne-uzytkownikow-wordpress\/","title":{"rendered":"Czym s\u0105 pami\u0119ci podr\u0119czne u\u017cytkownik\u00f3w WordPress?"},"content":{"rendered":"\n<p>Je\u015bli kiedykolwiek pracowa\u0142e\u015b nad projektem, w kt\u00f3rym musisz pracowa\u0107 z plikami cookie uwierzytelniania WordPress, prawdopodobnie natkn\u0105\u0142e\u015b si\u0119 na funkcj\u0119 <a href=\"https:\/\/codex.wordpress.org\/Function_Reference\/wp_set_auth_cookie\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">wp_set_auth_cookie<\/a>. W skr\u00f3cie <a href=\"https:\/\/codex.wordpress.org\/Function_Reference\/wp_set_auth_cookie\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">ta funkcja<\/a> :<\/p>\n<blockquote>\n<p>Ustawia uwierzytelniaj\u0105ce pliki cookie na podstawie identyfikatora u\u017cytkownika.<\/p>\n<\/blockquote>\n<p>A kiedy u\u017cywasz tej funkcji, zasadniczo tworzysz plik cookie, kt\u00f3ry s\u0142u\u017cy do uwierzytelniania u\u017cytkownika w celu zalogowania si\u0119 do WordPressa.<\/p>\n<p>Ale je\u015bli chcesz programowo uwierzytelni\u0107 u\u017cytkownika za pomoc\u0105 WordPressa, musisz wykona\u0107 kilka dodatkowych czynno\u015bci, aby zrobi\u0107 to poprawnie, zw\u0142aszcza je\u015bli pracujesz z wtyczkami do buforowania.<\/p>\n<p>I tutaj w gr\u0119 wchodz\u0105 pami\u0119ci podr\u0119czne u\u017cytkownik\u00f3w WordPress.<\/p>\n<h2>Pami\u0119ci podr\u0119czne WordPress<\/h2>\n<p>Opr\u00f3cz prostego tworzenia pliku cookie uwierzytelniania, wa\u017cne jest, aby upewni\u0107 si\u0119, \u017ce wykonujesz nast\u0119puj\u0105ce czynno\u015bci:<\/p>\n<ul>\n<li>wyczy\u015b\u0107 pami\u0119\u0107 podr\u0119czn\u0105 u\u017cytkownik\u00f3w,<\/li>\n<li>pozby\u0107 si\u0119 ciasteczek uwierzytelniaj\u0105cych,<\/li>\n<li>ustawi\u0107 aktualnego u\u017cytkownika,<\/li>\n<li>ustawi\u0107 plik cookie uwierzytelniania,<\/li>\n<li>zaktualizowa\u0107 pami\u0119ci podr\u0119czne u\u017cytkownik\u00f3w.<\/li>\n<\/ul>\n<p>Brzmi jak skomplikowane rozwi\u0105zanie, prawda? Fajn\u0105 rzecz\u0105 jest to, \u017ce istnieje kilka funkcji (powi\u0105zanych powy\u017cej), kt\u00f3re sprawiaj\u0105, \u017ce jest to naprawd\u0119 \u0142atwe.<\/p>\n<p>Wa\u017cn\u0105 rzecz\u0105 do zapami\u0119tania jest to, \u017ce potrzebujesz instancji WP_User, aby to wszystko zrobi\u0107. Spos\u00f3b, w jaki pobierzesz instancj\u0119 u\u017cytkownika, b\u0119dzie zale\u017ce\u0107 od funkcjonalno\u015bci Twojej wtyczki.<\/p>\n<p>To znaczy, by\u0107 mo\u017ce jeste\u015b w stanie pobra\u0107 referencj\u0119 dla u\u017cytkownika o podanej <a href=\"https:\/\/gist.github.com\/tommcfarlin\/e2c4ab9269420c3577485d36c373c54d#file-00-get-user-login-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">nazwie u\u017cytkownika<\/a> :<\/p>\n<pre><code>&lt;?php\n$user = get_user_by( 'login', $username );<\/code><\/pre>\n<p>A mo\u017ce masz adres e-mail, <a href=\"https:\/\/gist.github.com\/tommcfarlin\/e2c4ab9269420c3577485d36c373c54d#file-01-get-user-email-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">kt\u00f3rego mo\u017cesz u\u017cy\u0107<\/a> :<\/p>\n<pre><code>&lt;?php\n$user = get_user_by( 'email', $email );<\/code><\/pre>\n<p>Niezale\u017cnie od przypadku, poni\u017csze kroki musz\u0105 mie\u0107 u\u017cytkownika, je\u015bli chcesz to zrobi\u0107 poprawnie. Maj\u0105c to na uwadze, <a href=\"https:\/\/gist.github.com\/tommcfarlin\/e2c4ab9269420c3577485d36c373c54d#file-02-authenticate-user-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">oto jak mo\u017ce wygl\u0105da\u0107 kod<\/a> :<\/p>\n<pre><code>&lt;?php\n\n\/\/ Clean out any cookies and cookies for an existing user.\nclean_user_cache( $user-&gt;ID );\nwp_clear_auth_cookie();\n\n\/\/ Set the current user and update the caches.\nwp_set_current_user( $user-&gt;ID );\nwp_set_auth_cookie( $user-&gt;ID, true, false );\nupdate_user_caches( $user );\n<\/code><\/pre>\n<p>I to wszystko! Oto opis dzia\u0142ania ka\u017cdej funkcji:<\/p>\n<ul>\n<li><a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/clean_user_cache\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">clean_user_cache<\/a>. Spowoduje to usuni\u0119cie wszystkich informacji o u\u017cytkownikach z pami\u0119ci podr\u0119cznej.<\/li>\n<li><a href=\"https:\/\/codex.wordpress.org\/Function_Reference\/wp_clear_auth_cookie\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">wp_clear_auth_cookie<\/a>. Gdy u\u017cytkownik jest uwierzytelniany za pomoc\u0105 WordPress, jest przechowywany plik cookie. Spowoduje to wyczyszczenie tego pliku cookie uwierzytelniania.<\/li>\n<li><a href=\"https:\/\/codex.wordpress.org\/Function_Reference\/wp_set_current_user\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">wp_set_current_user<\/a>. Bior\u0105c pod uwag\u0119 instancj\u0119 WP_User, powiedz WordPressowi, aby oznaczy\u0142 tego u\u017cytkownika (pozwalaj\u0105c na istnienie w bazie danych)<\/li>\n<li><a href=\"https:\/\/codex.wordpress.org\/Function_Reference\/wp_set_auth_cookie\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">wp_set_auth_cookie<\/a>. Spowoduje to utworzenie pliku cookie u\u017cywanego do uwierzytelniania u\u017cytkownika, kt\u00f3ry zosta\u0142 w\u0142a\u015bnie ustawiony w poprzedniej funkcji.<\/li>\n<li><a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/update_user_caches\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">update_user_cache<\/a>. Na koniec zaktualizuje to pami\u0119\u0107 podr\u0119czn\u0105 u\u017cytkownik\u00f3w o informacje o nowych latach.<\/li>\n<\/ul>\n<p>Je\u015bli chodzi o prac\u0119 z buforowaniem u\u017cytkownik\u00f3w WordPress, uwierzytelnianiem i post\u0119pem z programowo uwierzytelniaj\u0105cymi u\u017cytkownikami, s\u0105 to funkcje, kt\u00f3rych nale\u017cy u\u017cy\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>Je\u015bli chcesz programowo uwierzytelni\u0107 u\u017cytkownika, pami\u0119\u0107 podr\u0119czna u\u017cytkownik\u00f3w WordPress jest wa\u017cna do zrozumienia, gdy idziesz dalej.<\/p>\n","protected":false},"author":1,"featured_media":223663,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[721,897,805,845,866],"tags":[1169],"class_list":["post-228817","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-deweloper","category-kod","category-php-7","category-samouczki","category-wordpress-7","tag-affiai-pl"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts\/228817","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=228817"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts\/228817\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/media\/223663"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/media?parent=228817"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/categories?post=228817"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/tags?post=228817"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}