{"id":229756,"date":"2022-11-03T15:13:00","date_gmt":"2022-11-03T12:13:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=229756"},"modified":"2022-11-09T16:15:10","modified_gmt":"2022-11-09T13:15:10","slug":"cosa-sono-le-cache-utente-di-wordpress","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/it\/cosa-sono-le-cache-utente-di-wordpress\/","title":{"rendered":"Cosa sono le cache utente di WordPress?"},"content":{"rendered":"\n<p>Se hai mai lavorato a un progetto quando devi lavorare con i cookie di autenticazione di WordPress, probabilmente ti sei imbattuto nella funzione <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>. In breve, <a href=\"https:\/\/codex.wordpress.org\/Function_Reference\/wp_set_auth_cookie\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">questa funzione<\/a> :<\/p>\n<blockquote>\n<p>Imposta l&#8217;ID utente basato sui cookie di autenticazione.<\/p>\n<\/blockquote>\n<p>E quando usi questa funzione, stai essenzialmente creando un cookie che viene utilizzato per autenticare l&#8217;utente per accedere a WordPress.<\/p>\n<p>Ma se stai cercando di autenticare un utente con WordPress in modo programmatico, sono necessari alcuni passaggi aggiuntivi per farlo correttamente, specialmente se stai lavorando con i plug-in di memorizzazione nella cache.<\/p>\n<p>Ed \u00e8 qui che entrano in gioco le cache degli utenti di WordPress.<\/p>\n<h2>Cache utente di WordPress<\/h2>\n<p>Oltre a creare semplicemente un cookie di autenticazione, \u00e8 importante assicurarsi di eseguire le seguenti operazioni:<\/p>\n<ul>\n<li>svuota le cache degli utenti,<\/li>\n<li>eliminare i cookie di autenticazione,<\/li>\n<li>impostare un utente corrente,<\/li>\n<li>impostare il cookie di autenticazione,<\/li>\n<li>aggiornare le cache utente.<\/li>\n<\/ul>\n<p>Sembra una soluzione complicata, giusto? La cosa bella \u00e8 che ci sono una manciata di funzioni (collegate sopra) che lo rendono davvero facile.<\/p>\n<p>La cosa importante da ricordare \u00e8 che hai bisogno di un&#8217;istanza di WP_User per fare tutto questo. Il modo in cui recuperi un&#8217;istanza dell&#8217;utente dipender\u00e0 dalla funzionalit\u00e0 del tuo plug-in.<\/p>\n<p>Cio\u00e8, forse sei in grado di recuperare un riferimento per un utente dato <a href=\"https:\/\/gist.github.com\/tommcfarlin\/e2c4ab9269420c3577485d36c373c54d#file-00-get-user-login-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">un nome utente<\/a> :<\/p>\n<pre><code>&lt;?php\n$user = get_user_by( 'login', $username );<\/code><\/pre>\n<p>O forse hai un indirizzo email che <a href=\"https:\/\/gist.github.com\/tommcfarlin\/e2c4ab9269420c3577485d36c373c54d#file-01-get-user-email-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">puoi usare<\/a> :<\/p>\n<pre><code>&lt;?php\n$user = get_user_by( 'email', $email );<\/code><\/pre>\n<p>In ogni caso, i seguenti passaggi devono avere un utente se vuoi farlo correttamente. Quindi, detto questo, <a href=\"https:\/\/gist.github.com\/tommcfarlin\/e2c4ab9269420c3577485d36c373c54d#file-02-authenticate-user-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">ecco come potrebbe apparire il codice<\/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>E questo \u00e8 tutto! Quindi ecco la descrizione di ci\u00f2 che fa ciascuna funzione:<\/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>. Ci\u00f2 rimuover\u00e0 tutte le informazioni degli utenti memorizzate nella cache.<\/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>. Quando un utente viene autenticato con WordPress, viene memorizzato un cookie. Questo canceller\u00e0 quel cookie di autenticazione.<\/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>. Data un&#8217;istanza di WP_User, chiedi a WordPress di contrassegnare questo utente (permettendo che esista nel database)<\/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>. Questo creer\u00e0 il cookie utilizzato per l&#8217;autenticazione per l&#8217;utente che \u00e8 stato appena impostato nella funzione precedente.<\/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_caches<\/a>. Infine, questo aggiorner\u00e0 le cache dell&#8217;utente con le informazioni con i nuovi anni.<\/li>\n<\/ul>\n<p>Quando si tratta di lavorare con la memorizzazione nella cache degli utenti di WordPress, l&#8217;autenticazione e di andare avanti con l&#8217;autenticazione programmatica degli utenti, queste sono le funzioni che dovrebbero essere utilizzate.<\/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>Se stai cercando di autenticare un utente a livello di codice, le cache utente di WordPress sono importanti da capire quando vai avanti.<\/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":[896,804,720,844,865],"tags":[1168],"class_list":["post-229756","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codice","category-php-6","category-sviluppatore","category-tutorial","category-wordpress-6","tag-affiai-it"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/229756","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=229756"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/229756\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media\/223663"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media?parent=229756"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/categories?post=229756"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/tags?post=229756"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}