{"id":229092,"date":"2022-11-03T14:51:00","date_gmt":"2022-11-03T11:51:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=229092"},"modified":"2022-11-09T05:29:56","modified_gmt":"2022-11-09T02:29:56","slug":"que-son-los-caches-de-usuario-de-wordpress","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/es\/que-son-los-caches-de-usuario-de-wordpress\/","title":{"rendered":"\u00bfQu\u00e9 son los cach\u00e9s de usuario de WordPress?"},"content":{"rendered":"\n<p>Si alguna vez ha trabajado en un proyecto en el que necesita trabajar con cookies de autenticaci\u00f3n de WordPress, es probable que se haya topado con la funci\u00f3n <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>. En resumen, <a href=\"https:\/\/codex.wordpress.org\/Function_Reference\/wp_set_auth_cookie\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">esta funci\u00f3n<\/a> :<\/p>\n<blockquote>\n<p>Establece la ID de usuario basada en cookies de autenticaci\u00f3n.<\/p>\n<\/blockquote>\n<p>Y cuando usa esta funci\u00f3n, esencialmente est\u00e1 creando una cookie que se usa para autenticar al usuario para iniciar sesi\u00f3n en WordPress.<\/p>\n<p>Pero si est\u00e1 buscando autenticar a un usuario con WordPress mediante programaci\u00f3n, entonces se requieren algunos pasos adicionales para hacerlo correctamente, especialmente si est\u00e1 trabajando con complementos de almacenamiento en cach\u00e9.<\/p>\n<p>Y ah\u00ed es donde entran en juego los cach\u00e9s de usuarios de WordPress.<\/p>\n<h2>Cach\u00e9s de usuario de WordPress<\/h2>\n<p>Adem\u00e1s de simplemente crear una cookie de autenticaci\u00f3n, es importante asegurarse de que est\u00e1 haciendo lo siguiente:<\/p>\n<ul>\n<li>borrar los cach\u00e9s de usuario,<\/li>\n<li>deshacerse de las cookies de autenticaci\u00f3n,<\/li>\n<li>establecer un usuario actual,<\/li>\n<li>establecer la cookie de autenticaci\u00f3n,<\/li>\n<li>actualizar las cach\u00e9s de los usuarios.<\/li>\n<\/ul>\n<p>Suena como una soluci\u00f3n complicada, \u00bfverdad? Lo bueno es que hay un pu\u00f1ado de funciones (vinculadas arriba) que hacen que esto sea realmente f\u00e1cil.<\/p>\n<p>Lo importante que debe recordar es que necesita una instancia de WP_User para hacer todo esto. La forma en que recupere una instancia del usuario depender\u00e1 de la funcionalidad de su complemento.<\/p>\n<p>Es decir, tal vez pueda recuperar una referencia para un usuario dado <a href=\"https:\/\/gist.github.com\/tommcfarlin\/e2c4ab9269420c3577485d36c373c54d#file-00-get-user-login-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">un nombre de usuario<\/a> :<\/p>\n<pre><code>&lt;?php\n$user = get_user_by( 'login', $username );<\/code><\/pre>\n<p>O tal vez tenga una direcci\u00f3n de correo electr\u00f3nico que <a href=\"https:\/\/gist.github.com\/tommcfarlin\/e2c4ab9269420c3577485d36c373c54d#file-01-get-user-email-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">pueda usar<\/a> :<\/p>\n<pre><code>&lt;?php\n$user = get_user_by( 'email', $email );<\/code><\/pre>\n<p>Cualquiera que sea el caso, los siguientes pasos deben tener un usuario para hacerlo correctamente. Entonces, dicho esto, <a href=\"https:\/\/gist.github.com\/tommcfarlin\/e2c4ab9269420c3577485d36c373c54d#file-02-authenticate-user-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">as\u00ed es como se ver\u00e1 el c\u00f3digo<\/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>\u00a1Y eso es! As\u00ed que aqu\u00ed est\u00e1 la descripci\u00f3n de lo que hace cada funci\u00f3n:<\/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\">limpiar_cach\u00e9_de_usuario<\/a>. Esto eliminar\u00e1 toda la informaci\u00f3n de los usuarios en cach\u00e9.<\/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>. Cuando un usuario se autentica con WordPress, hay una cookie que se almacena. Esto borrar\u00e1 esa cookie de autenticaci\u00f3n.<\/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_usuario_actual<\/a>. Dada una instancia de WP_User, d\u00edgale a WordPress que marque a este usuario (permitiendo que exista en la base de datos)<\/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>. Esto crear\u00e1 la cookie utilizada para la autenticaci\u00f3n del usuario que se acaba de configurar en la funci\u00f3n anterior.<\/li>\n<li><a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/update_user_caches\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">actualizar_cach\u00e9s_de_usuario<\/a>. Finalmente, esto actualizar\u00e1 los cach\u00e9s de los usuarios con la informaci\u00f3n de los nuevos a\u00f1os.<\/li>\n<\/ul>\n<p>Cuando se trata de trabajar con el almacenamiento en cach\u00e9 de usuarios de WordPress, la autenticaci\u00f3n y avanzar con la autenticaci\u00f3n de usuarios mediante programaci\u00f3n, estas son las funciones que deben usarse.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fuente de grabaci\u00f3n:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Si est\u00e1 buscando autenticar a un usuario mediante programaci\u00f3n, es importante comprender los cach\u00e9s de usuario de WordPress al avanzar.<\/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":[892,716,800,840,861],"tags":[1172],"class_list":["post-229092","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codigo","category-desarrollador","category-php-2","category-tutoriales","category-wordpress-2","tag-affiai-es"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/229092","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/comments?post=229092"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/229092\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media\/223663"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media?parent=229092"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/categories?post=229092"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/tags?post=229092"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}