{"id":231035,"date":"2022-12-20T15:04:00","date_gmt":"2022-12-20T12:04:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=231035"},"modified":"2022-12-07T10:14:21","modified_gmt":"2022-12-07T07:14:21","slug":"use-la-id-de-usuario-actual-con-pods-para-wordpress","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/es\/use-la-id-de-usuario-actual-con-pods-para-wordpress\/","title":{"rendered":"Use la ID de usuario actual con Pods para WordPress"},"content":{"rendered":"\n<p>Pods <a href=\"https:\/\/pods.io\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Framework para WordPress<\/a>, una utilidad espec\u00edfica que existe desde hace mucho tiempo, ofrece una gran cantidad de funciones que pueden facilitar el trabajo con tipos de contenido avanzados, configuraciones personalizadas, etc.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-160795-61e7139049979.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-160795-61e7139049979.png\" alt=\"Use la ID de usuario actual con Pods para WordPress\" ><\/a><\/p>\n<p>Menciono esto porque Pods es una utilidad popular y hay algunas caracter\u00edsticas disponibles que brindan una buena funcionalidad.<\/p>\n<p>Mediante el uso de c\u00f3digos abreviados, es posible realizar algunas consultas de base de datos poderosas para recuperar informaci\u00f3n para completar formularios din\u00e1micamente.<\/p>\n<p>Un caso de uso que veo que aparece en algunos resultados es c\u00f3mo completar un c\u00f3digo abreviado con la ID del usuario actual. Hay <a href=\"https:\/\/pods.io\/forums\/topic\/how-to-filted-pod-items-created-by-the-current-user-and-show-them-in-front-end\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">una publicaci\u00f3n en el foro<\/a> al respecto aqu\u00ed y una discusi\u00f3n continua al respecto <a href=\"https:\/\/stackoverflow.com\/questions\/13490230\/how-to-delegate-to-a-shortcode-function-in-order-to-filter-pod-items-created-by\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">en Stack Overflow<\/a> tambi\u00e9n.<\/p>\n<p>Pero si est\u00e1 buscando una manera de filtrar el contenido para hacer esto sin volver a trabajar con algunos de los c\u00f3digos abreviados existentes, hay otra forma de hacerlo.<\/p>\n<h2>Usar la ID de usuario actual con pods<\/h2>\n<p>Digamos que desea completar un formulario con la ID del usuario actual sin un c\u00f3digo abreviado; puede hacerlo mediante el uso de un token y un filtro.<\/p>\n<p>Por ejemplo, digamos que su shortcode se parece <a href=\"https:\/\/gist.github.com\/tommcfarlin\/c8d786d7ca5871a7178e7e7a8ef8443d#file-00-pods-form-txt\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">a esto<\/a> :<\/p>\n<pre><code>[pods-form name=\"user\" fields=\"first_name, last_name\" where=\"current_user_id = user_id\" label=\"Update\"]<\/code><\/pre>\n<p>Para filtrar esto, en lugar de usar un c\u00f3digo abreviado, puede <a href=\"https:\/\/gist.github.com\/tommcfarlin\/c8d786d7ca5871a7178e7e7a8ef8443d#file-01-filter-pods-by-current-user-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">hacer lo siguiente<\/a> :<\/p>\n<pre><code>&lt;?php\nadd_filter('the_content', __NAMESPACE__. 'filter_pods_by_current_user');\n\/**\n * Replaces the current_user_id = user_id with the current user ID in the\n * incoming content (which includes the Pods shortcode).\n *\n * @param  string $content the content of the shortcode.\n * @return string          the result of the parsed shortcode.\n *\/\nfunction filter_pods_by_current_user($content)\n{\n    $user = wp_get_current_user();\n\n    return str_ireplace(\n        'current_user_id = user_id',\n        \"id='\". $user-&gt;ID. \"'\",\n        $content\n    );\n}\n<\/code><\/pre>\n<p>Esto buscar\u00e1 un token espec\u00edfico en la cadena, lo reemplazar\u00e1 y luego lo devolver\u00e1 con un atributo de c\u00f3digo abreviado compatible con Pods antes de que se haya procesado el c\u00f3digo abreviado.<\/p>\n<p>Luego, Pods ejecutar\u00e1 la consulta de manera que se vea <a href=\"https:\/\/gist.github.com\/tommcfarlin\/c8d786d7ca5871a7178e7e7a8ef8443d#file-02-final-result-txt\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">as\u00ed<\/a> (suponiendo que la ID del usuario actual sea 100):<\/p>\n<pre><code>[pods-form name=\"user\" fields=\"first_name, last_name\" where=\"id = 100\" label=\"Update\"]<\/code><\/pre>\n<p>Una cosa que quiero dejar en claro es que no necesariamente recomiendo esto sobre el uso de la manipulaci\u00f3n de shortcode.<\/p>\n<p>M\u00e1s bien, use lo que mejor se adapte a la situaci\u00f3n. Si se trata de c\u00f3digos cortos, vea el c\u00f3digo vinculado en la introducci\u00f3n; de lo contrario, quiz\u00e1s el filtro anterior funcione bien.<\/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>Una forma de filtrar el contenido de la publicaci\u00f3n para obtener la ID de usuario actual con Pods para WordPress.<\/p>\n","protected":false},"author":1,"featured_media":234975,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[716,831,1015,840,861],"tags":[1172],"class_list":["post-231035","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-desarrollador","category-guia-para-principiantes","category-sitios-utiles","category-tutoriales","category-wordpress-2","tag-affiai-es"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/231035","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=231035"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/231035\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media\/234975"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media?parent=231035"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/categories?post=231035"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/tags?post=231035"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}