{"id":231614,"date":"2022-12-20T14:50:00","date_gmt":"2022-12-20T11:50:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=231614"},"modified":"2022-12-07T10:14:27","modified_gmt":"2022-12-07T07:14:27","slug":"usa-lid-utente-corrente-con-pods-per-wordpress","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/it\/usa-lid-utente-corrente-con-pods-per-wordpress\/","title":{"rendered":"Usa l&#8217;ID utente corrente con Pods per WordPress"},"content":{"rendered":"\n<p>Il <a href=\"https:\/\/pods.io\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Pods Framework per WordPress<\/a>, un&#8217;utilit\u00e0 specifica che esiste da molto tempo, offre molte funzionalit\u00e0 che possono rendere il lavoro con tipi di contenuto avanzati, impostazioni personalizzate e cos\u00ec via.<\/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=\"Usa l&#039;ID utente corrente con Pods per WordPress\" ><\/a><\/p>\n<p>Lo dico perch\u00e9 Pods \u00e8 un&#8217;utilit\u00e0 popolare e sono disponibili alcune funzionalit\u00e0 che forniscono alcune funzionalit\u00e0 interessanti.<\/p>\n<p>Attraverso l&#8217;uso di codici brevi, \u00e8 possibile eseguire alcune potenti query di database per recuperare informazioni per popolare i moduli in modo dinamico.<\/p>\n<p>Un caso d&#8217;uso che vedo in alcuni risultati \u00e8 come popolare uno shortcode con l&#8217;ID dell&#8217;utente corrente. C&#8217;\u00e8 <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\">un post sul forum<\/a> a riguardo qui e anche una discussione continua <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\">su Stack Overflow<\/a>.<\/p>\n<p>Ma se stai cercando un modo per filtrare il contenuto per farlo senza rielaborare alcuni degli shortcode esistenti, c&#8217;\u00e8 un altro modo per farlo.<\/p>\n<h2>Usa l&#8217;ID utente corrente con i pod<\/h2>\n<p>Supponiamo che tu voglia popolare un modulo con l&#8217;ID dell&#8217;utente corrente senza uno shortcode; puoi farlo attraverso l&#8217;uso di un token e un filtro.<\/p>\n<p>Ad esempio, supponiamo che il tuo shortcode assomigli <a href=\"https:\/\/gist.github.com\/tommcfarlin\/c8d786d7ca5871a7178e7e7a8ef8443d#file-00-pods-form-txt\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">a questo<\/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>Per filtrare questo, invece di usare uno shortcode, puoi <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\">fare quanto segue<\/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>Questo cercher\u00e0 un token specifico nella stringa, lo sostituir\u00e0 e quindi lo restituir\u00e0 con un attributo shortcode compatibile con Pods prima che lo shortcode sia stato elaborato.<\/p>\n<p>Quindi Pods eseguir\u00e0 la query in modo tale che assomigli <a href=\"https:\/\/gist.github.com\/tommcfarlin\/c8d786d7ca5871a7178e7e7a8ef8443d#file-02-final-result-txt\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">a questa<\/a> (supponendo che l&#8217;ID dell&#8217;utente corrente sia 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 che voglio chiarire \u00e8 che non lo consiglio necessariamente rispetto all&#8217;uso della manipolazione dello shortcode.<\/p>\n<p>Piuttosto, usa quello che meglio si adatta alla situazione. Se si tratta di codici brevi, vedere il codice collegato nell&#8217;introduzione; altrimenti, forse il filtro sopra funziona bene.<\/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>Un modo per filtrare il contenuto del post per ottenere l&#8217;ID utente corrente con Pods per WordPress.<\/p>\n","protected":false},"author":1,"featured_media":234972,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[835,1019,720,844,865],"tags":[1168],"class_list":["post-231614","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-guida-per-principianti","category-siti-utili","category-sviluppatore","category-tutorial","category-wordpress-6","tag-affiai-it"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/231614","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=231614"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/231614\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media\/234972"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media?parent=231614"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/categories?post=231614"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/tags?post=231614"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}