{"id":233076,"date":"2023-02-03T09:23:00","date_gmt":"2023-02-03T06:23:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=233076"},"modified":"2023-02-03T09:24:26","modified_gmt":"2023-02-03T06:24:26","slug":"come-verificare-se-uno-o-piu-utenti-hanno-effettuato-laccesso-utilizzando-i-cookie-in-wordpress","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/it\/come-verificare-se-uno-o-piu-utenti-hanno-effettuato-laccesso-utilizzando-i-cookie-in-wordpress\/","title":{"rendered":"Come verificare se uno o pi\u00f9 utenti hanno effettuato l&#8217;accesso utilizzando i cookie in WordPress?"},"content":{"rendered":"<p><a href=\"https:\/\/wordpress.mediadoma.com\/it\/tutorial-sui-plugin-di-wordpress-come-scrivere-il-primo-plugin\/\" title=\"WordPress\">WordPress<\/a> fornisce un&#8217;API <strong>is_user_logged_in()<\/strong> per verificare se un utente sta effettuando il login, ma sfortunatamente non \u00e8 direttamente disponibile quando si scrivono <a href=\"https:\/\/helloacm.com\/how-to-disable-ftp-login-details-in-wordpress-when-upgrading-plugins\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">plug-<\/a> in, ad esempio i plug-in vengono caricati prima di <strong>pluggable.php<\/strong> che \u00e8 dove <strong>is_user_logged_in()<\/strong> \u00e8 definito.<\/p>\n<p>Dall&#8217;implementazione di <strong>is_user_logged_in()<\/strong> puoi vedere che \u00e8:<\/p>\n<pre><code>function is_user_logged_in() {\n\u00a0 \u00a0 $user = wp_get_current_user(); \n\u00a0 \u00a0 return $user-&gt;exists();\n}<\/code><\/pre>\n<p>Quindi, possiamo modificare la funzione per verificare se un utente specificato ha effettuato l&#8217;accesso.<\/p>\n<pre><code>function is_username_logged_in($username) {\n\u00a0 \u00a0 $user = wp_get_current_user(); \n\u00a0 \u00a0 return $user-&gt;user_login == $username; \u00a0\n}<\/code><\/pre>\n<p>Tuttavia, la funzione principale <strong>wp_get_current_user<\/strong> \u00e8 ancora definita in <strong>pluggable.php<\/strong>. Quanto segue implementa una funzione che accetta una matrice di nomi utente consentiti e restituisce true se un qualsiasi nome utente consentito ha effettuato l&#8217;accesso.<\/p>\n<pre><code>function allowedUsersLoggedIn($allowd_users) {\n\u00a0 \u00a0 if (count($_COOKIE)) {\n\u00a0 \u00a0 \u00a0 \u00a0 foreach ($_COOKIE as $key =&gt; $val) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (substr($key, 0, 19) === \"wordpress_logged_in\") {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (preg_match('\/^('. implode('|', $allowed_users). ')\/', $val, $matches)) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 return true;\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }\n\u00a0 \u00a0 \u00a0 \u00a0 }\n\u00a0 \u00a0 }\n\u00a0 \u00a0 return false;\n}<\/code><\/pre>\n<p>Puoi tranquillamente utilizzare questa funzione ovunque, anche senza l&#8217;ambiente WP. L&#8217;uso del campione sarebbe:<\/p>\n<pre><code>if (allowedUsersLoggedIn(array(\"helloacm\", \"steakovercooked\")) {\n\u00a0 \/\/ code that only allowed users run\n}<\/code><\/pre>\n<p>Il principio di questa funzione \u00e8 controllare il COOKIE per la stringa specificata quando gli utenti autorizzati hanno effettuato l&#8217;accesso.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte di registrazione:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/helloacm.com\" class=\"external external_icon\">helloacm.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Come verificare se uno o pi\u00f9 utenti hanno effettuato l&#8217;accesso utilizzando i cookie in WordPress?<\/p>\n","protected":false},"author":1,"featured_media":224779,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[896,835,804,720,844,865],"tags":[1168],"class_list":["post-233076","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codice","category-guida-per-principianti","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\/233076","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=233076"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/233076\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media\/224779"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media?parent=233076"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/categories?post=233076"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/tags?post=233076"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}