{"id":233005,"date":"2023-02-03T09:34:00","date_gmt":"2023-02-03T06:34:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=233005"},"modified":"2023-02-03T09:43:57","modified_gmt":"2023-02-03T06:43:57","slug":"hur-kontrollerar-jag-om-en-eller-flera-anvaendare-aer-inloggade-med-cookie-i-wordpress","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/sv\/hur-kontrollerar-jag-om-en-eller-flera-anvaendare-aer-inloggade-med-cookie-i-wordpress\/","title":{"rendered":"Hur kontrollerar jag om en eller flera anv\u00e4ndare \u00e4r inloggade med Cookie i WordPress?"},"content":{"rendered":"<p><a href=\"https:\/\/wordpress.mediadoma.com\/sv\/handledning-foer-wordpress-plugin-hur-man-skriver-foersta-plugin\/\" title=\"WordPress\">WordPress<\/a> tillhandah\u00e5ller ett API <strong>is_user_logged_in()<\/strong> f\u00f6r att kontrollera om n\u00e5gon anv\u00e4ndare \u00e4r inloggad, men tyv\u00e4rr \u00e4r det inte direkt tillg\u00e4ngligt n\u00e4r du skriver <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\">plugins<\/a> t.ex. Plugins laddas innan <strong>pluggable.php<\/strong> vilket \u00e4r d\u00e4r <strong>is_user_logged_in()<\/strong> definieras.<\/p>\n<p>Fr\u00e5n implementeringen av <strong>is_user_logged_in()<\/strong> kan du se att det \u00e4r:<\/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>S\u00e5 vi kan \u00e4ndra funktionen f\u00f6r att kontrollera om en angiven anv\u00e4ndare har loggat in.<\/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>D\u00e4remot \u00e4r k\u00e4rnfunktionen <strong>wp_get_current_user<\/strong> fortfarande definierad i <strong>pluggable.php<\/strong>. F\u00f6ljande implementerar en funktion som tar en rad till\u00e5tna anv\u00e4ndarnamn och returnerar true om n\u00e5got till\u00e5tet anv\u00e4ndarnamn har loggat in.<\/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>Du kan s\u00e4kert anv\u00e4nda den h\u00e4r funktionen var som helst, \u00e4ven utan WP-milj\u00f6n. Exempelanv\u00e4ndningen skulle vara:<\/p>\n<pre><code>if (allowedUsersLoggedIn(array(\"helloacm\", \"steakovercooked\")) {\n\u00a0 \/\/ code that only allowed users run\n}<\/code><\/pre>\n<p>Principen f\u00f6r den h\u00e4r funktionen \u00e4r att kontrollera COOKIE f\u00f6r specificerad str\u00e4ng n\u00e4r till\u00e5tna anv\u00e4ndare \u00e4r inloggade.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Inspelningsk\u00e4lla:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/helloacm.com\" class=\"external external_icon\">helloacm.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hur kontrollerar jag om en eller flera anv\u00e4ndare \u00e4r inloggade med Cookie i 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":[838,848,901,807,724,868],"tags":[1173],"class_list":["post-233005","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-guide-foer-nyboerjare","category-handledningar","category-koda","category-php-9","category-utvecklaren","category-wordpress-9","tag-affiai-sv"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts\/233005","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/comments?post=233005"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts\/233005\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/media\/224779"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/media?parent=233005"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/categories?post=233005"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/tags?post=233005"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}