{"id":4524,"date":"2022-02-14T10:00:58","date_gmt":"2022-02-14T09:00:58","guid":{"rendered":"https:\/\/www.eugigufo.net\/it\/?page_id=4524"},"modified":"2024-10-01T13:58:27","modified_gmt":"2024-10-01T11:58:27","slug":"paragrafo29","status":"publish","type":"page","link":"https:\/\/eugigufo.net\/it\/inerario\/paragrafo29\/","title":{"rendered":"\u00a7\u00a029. Come \u00abpotenziare\u00bb le\u00a0password degli articoli su\u00a0WordPress"},"content":{"rendered":"<p>L&rsquo;autore, il&nbsp;redattore o&nbsp;l&rsquo;amministratore di&nbsp;un&nbsp;sito realizzato con il&nbsp;WordPress pu&ograve; proteggere con una password qualsiasi articolo, pagina o&nbsp;altro tipo di&nbsp;pubblicazione. Pi&ugrave; o&nbsp;meno tutti gli utenti del WordPress sanno come eseguire questa operazione-base, ma, per rendere completo il&nbsp;presente paragrafo, inizio riassumendola brevemente.<br \/>\nSe&nbsp;per la&nbsp;pubblicazione e&nbsp;la&nbsp;modifica dei vostri articoli e&nbsp;pagine utilizzate l&rsquo;editor a&nbsp;blocchi (quello introdotto con la&nbsp;versione&nbsp;5.0 del WordPress), bisogna sulla pagina di&nbsp;modifica della pubblicazione e&nbsp;selezionare la&nbsp;voce &laquo;Stato e&nbsp;visibilit&agrave;&raquo; nel menu a&nbsp;destra. Quindi cliccare sul link &laquo;Pubblico&raquo; collocato vicino alla voce &laquo;Visibilit&agrave;&raquo;, scegliere l&rsquo;opzione &laquo;Protetto da&nbsp;password&raquo;, inserire la&nbsp;password che si&nbsp;vuole e&nbsp;premere l&rsquo;invio sulla tastiera. Infine, cliccare sul buttone &laquo;Aggiorna&raquo;.<br \/>\n<img decoding=\"async\" src=\"https:\/\/eugigufo.net\/images\/inerario\/art29passwordwp1.jpg\" title=\"come si imposta la password di una pubblicazione su WordPress\" border=\"0\"><br \/>\nSe, invece, state ancora utilizzando l&rsquo;editor classico (&egrave;&nbsp;possibile mantenerlo anche sulle versioni recenti del WordPress), bisogna andare sulla pagina di&nbsp;modifica della pubblicazione, cliccare sul link &laquo;modifica&raquo; collocato vicino alla voce &laquo;Visibilit&agrave;&raquo; (nel menu a&nbsp;destra), scegliere l&rsquo;opzione &laquo;Protetto da&nbsp;password&raquo;, poi cliccare su&nbsp;&laquo;OK&raquo; e&nbsp;&laquo;Aggiorna&raquo;.<br \/>\n<img decoding=\"async\" src=\"https:\/\/eugigufo.net\/images\/inerario\/art29passwordwp2.jpg\" title=\"come si imposta la password di una pubblicazione su WordPress\" border=\"0\"><br \/>\nDal momento in&nbsp;cui &egrave;&nbsp;stata impostata la&nbsp;password, il&nbsp;visitatore vedr&agrave;, al&nbsp;posto della pagina della pubblicazione protetta con la&nbsp;password, solo questo:<br \/>\n<img decoding=\"async\" src=\"https:\/\/eugigufo.net\/images\/inerario\/art29passwordwp3.jpg\" title=\"una pubblicazione su WordPress protetta con una password\" border=\"0\"><br \/>\nSempre dallo stesso momento, il&nbsp;contenuto e&nbsp;il&nbsp;riassunto di&nbsp;quella pubblicazione scompariranno da&nbsp;tutte le&nbsp;possibili pagine del sito (per esempio, dalla pagina principale e&nbsp;dalle pagine dei vari elementi della tassonomia). Ma&nbsp;&egrave;&nbsp;comunque possibile rendere visualizzabile il&nbsp;riassunto della pubblicazione protetta&nbsp;e, volendo, modificare il&nbsp;testo di&nbsp;tale riassunto (per farlo comparire comunque dove serve). In&nbsp;questo ultimo compito ci&nbsp;aiuta il&nbsp;codice da&nbsp;inserire nel file functions.php del nostro tema: si&nbsp;veda&nbsp;&ndash; pi&ugrave; in&nbsp;basso&nbsp;&ndash; il&nbsp;<a href=\"#passwwp4\">punto&nbsp;4<\/a> del presente paragrafo.<br \/>\nInoltre, la&nbsp;password pu&ograve; essere impostata o&nbsp;modificata nella sezione &laquo;modifica rapida&raquo; di&nbsp;ogni pubblicazione. Per farlo, bisogna trovare l&rsquo;articolo o&nbsp;la&nbsp;pagina da&nbsp;proteggere nella lista delle pubblicazioni e&nbsp;cliccare sul rispettivo link, appunto, chiamato &laquo;modifica rapida&raquo;. Con l&rsquo;editor a&nbsp;blocchi si&nbsp;inserisce la&nbsp;password e&nbsp;poi si&nbsp;clicca su&nbsp;&laquo;Aggiorna&raquo;:<br \/>\n<img decoding=\"async\" src=\"https:\/\/eugigufo.net\/images\/inerario\/art29passwordwp4.jpg\" title=\"come si imposta la password di una pubblicazione su WordPress\" border=\"0\"><br \/>\nSull&rsquo;editor classico l&rsquo;operazione &egrave;&nbsp;altrettanto semplice:<br \/>\n<img decoding=\"async\" src=\"https:\/\/eugigufo.net\/images\/inerario\/art29passwordwp5.jpg\" title=\"come si imposta la password di una pubblicazione su WordPress\" border=\"0\"><br \/>\nOltre alle nozioni banali appena elencate, i&nbsp;semplici utenti devono sapere anche alcune altre cose sulle password delle pubblicazioni:<br \/>\n&ndash;&nbsp;le&nbsp;password vengono registrate sul database (tabella wp_posts) in&nbsp;un&nbsp;formato non criptato;<br \/>\n&ndash;&nbsp;la&nbsp;lunghezza massima di&nbsp;una password &egrave;&nbsp;di&nbsp;20&nbsp;caratteri, quella minima &egrave;&nbsp;di&nbsp;1&nbsp;carattere;<br \/>\n&ndash;&nbsp;dopo l&rsquo;accesso a&nbsp;una pubblicazione tramite l&rsquo;inserimento della password, questa ultima viene memorizzata nei cookies, quindi non bisogner&agrave; inserirla dopo ogni reload della pagina. Inoltre, funzioner&agrave; allo stesso modo per tutte le&nbsp;altre pubblicazioni protette con la&nbsp;stessa password;<br \/>\n&ndash;&nbsp;nei cookies viene memorizzata solo una password, quindi vi&nbsp;rimarr&agrave; l&rsquo;ultima inserita;<br \/>\n&ndash;&nbsp;se&nbsp;una password dovesse essere modificata, bisogna inserire quella nuova per accedere alla pagina protetta.<br \/>\nE&nbsp;ora, finalmente, andiamo a&nbsp;vedere come &egrave;&nbsp;possibile rendere una password pi&ugrave; utile e&nbsp;funzionale.<br \/>\n<a name=\"passwwp1\"><\/a><b>1.&nbsp;Come proteggere i&nbsp;campi meta della pagina con la&nbsp;password?<\/b><br \/>\nPer default, la&nbsp;protezione offerta dalla password non si&nbsp;estende ai&nbsp;campi personalizzati. Bisogna quindi proteggerli inserendo la&nbsp;funzione post_password_required() nel file functions.php del tema utilizzato:<\/p>\n<pre class=\"brush: php; collapse: false; title: listing 1; notranslate\" title=\"listing 1\">\nif ( ! post_password_required() ) {\n    \/\/ mostriamo il valore di un campo solo se la protezione viene rimossa\n    echo 'Indirizzo: ' . get_post_meta( get_the_ID(), 'addr', true );\n}\n<\/pre>\n<p>\n<a name=\"passwwp2\"><\/a><b>2.&nbsp;Come cambiare il&nbsp;tempo di&nbsp;memorizzazione della password?<\/b><br \/>\nPer default, la&nbsp;password inserita dall&rsquo;utente per accedere a&nbsp;un&nbsp;articolo o&nbsp;una pagina viene memorizzata per 10&nbsp;giorni. &Egrave;&nbsp;possibile modificare la&nbsp;lunghezza di&nbsp;questo periodo utilizzando il&nbsp;filtro post_password_expires:<\/p>\n<pre class=\"brush: php; collapse: false; title: listing 2; notranslate\" title=\"listing 2\">\nadd_filter( 'post_password_expires', 'true_change_pass_exp', 25 );\n \nfunction true_change_pass_exp( $exp ){\n\treturn time() + 5 * DAY_IN_SECONDS; \/\/ per esempio, 5 giorni (ora corrente + 5 giorni)\n}\n<\/pre>\n<p>\n<a name=\"passwwp3\"><\/a><b>3.&nbsp;Come si&nbsp;fa&nbsp;a&nbsp;modificare la&nbsp;form per l&rsquo;inserimento della password?<\/b><br \/>\nL&rsquo;internet &egrave;&nbsp;pieno di&nbsp;soluzioni perverse, mentre in&nbsp;realt&agrave; &egrave;&nbsp;inutile complicarsi la&nbsp;vita:<\/p>\n<pre class=\"brush: php; collapse: false; title: listing 3; notranslate\" title=\"listing 3\">\nadd_filter( 'the_password_form', 'true_new_post_pass_form' ); \/\/ aggiungiamo la funzione al filtro the_password_form\n \nfunction true_new_post_pass_form() {\n\t\/*\n\t * in sostanza, bisogna essere attenti a tre aspetti:\n\t * 1) a cosa si riferisce la form e method=post\n\t * 2) il valore dell'attributo name del campo di inserimento della password - post_password\n\t * 3) gli attributi size e maxlength del campo di inserimento della password devono essere inferiori o uguali a 20 (si veda la lunguezza massima di una password indicata in precedenza)\n\t * Per il resto avete la piena liberta di azione!\n\t *\/\n\treturn '&lt;form action=&quot;' . site_url( 'wp-login.php?action=postpass', 'login_post' ) . '&quot; method=&quot;post&quot;&gt;\n\t&lt;input name=&quot;post_password&quot; type=&quot;password&quot; size=&quot;20&quot; placeholder=&quot;Password articolo&quot; maxlength=&quot;20&quot; \/&gt;\n\t&lt;input type=&quot;submit&quot; name=&quot;Submit&quot; value=&quot;Accedere&quot; \/&gt;\n\t&lt;\/form&gt;';\n}\n<\/pre>\n<p>\n<a name=\"passwwp4\"><\/a><b>4.&nbsp;Come si&nbsp;fa&nbsp;a&nbsp;cambiare il&nbsp;testo del riassunto dell&rsquo;articolo protetto con una password?<\/b><br \/>\nPer cambiarlo e&nbsp;renderlo visualizzabile possiamo servirci della funzione post_password_required e&nbsp;del filtro the_excerpt:<\/p>\n<pre class=\"brush: php; collapse: false; title: listing 4; notranslate\" title=\"listing 4\">\nadd_filter( 'the_excerpt', 'true_protected_excerpt_text' );\n \nfunction true_protected_excerpt_text( $excerpt ) {\n\tif ( post_password_required() ) {\n\t\t$excerpt = '&lt;em&gt;&#x5B;Articolo protetto da una password. Per accedere contatti gli amministratori del sito.]&lt;\/em&gt;';\n\t}\n\treturn $excerpt; \/\/ se un articolo non e protetto, mostriamo la citazone standard\n}\n<\/pre>\n<p>\n<a name=\"passwwp5\"><\/a><b>5.&nbsp;Come si&nbsp;fa&nbsp;a&nbsp;nascondere completamente tutti gli articoli (e&nbsp;pagine) protetti con delle password?<\/b><br \/>\nA&nbsp;questo scopo &egrave;&nbsp;possibile utilizzare il&nbsp;filtro pre_get_posts (&egrave;&nbsp;importante specificare che il&nbsp;suo utilizzo non comporta dei problemi nella navigazione tra le&nbsp;pagine):<\/p>\n<pre class=\"brush: php; collapse: false; title: listing 5; notranslate\" title=\"listing 5\">\n\/*\n * Una piccola modifica alla query SQL che riceve gli articoli\n *\/\nfunction true_exclude_pass_posts( $where ) {\n\tglobal $wpdb;\n\treturn $where .= &quot; AND {$wpdb-&gt;posts}.post_password = '' &quot;; \n}\n \n\/*\n * Usiamo questo filtro per determinare su quali pagine verranno nascosti gli articoli protetti\n *\/\nadd_action( 'pre_get_posts', 'true_where_to_exclude' );\n \nfunction true_where_to_exclude( $query ) {\n\tif( is_home() || is_archive() ) {\n\t\tadd_filter( 'posts_where', 'true_exclude_pass_posts' );\n\t}\n}\n<\/pre>\n<p>\nEcco, questo &egrave;&nbsp;tutto ci&ograve; che avevo da&nbsp;comunicarvi sull&rsquo;argomento. Almeno per ora.<br \/>\nSpero di&nbsp;avere risolto qualche vostro problema!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Il paragrafo dell\u2019\u201cInerario\u201d dedicato ai vari modi di impostare le password per gli articoli e per le pagine pubblicati con il WordPress.<br \/>\nQuesto paragrafo sar\u00e0 utile, in varie sue parti, agli autori dei contenuti pubblicati, ai redattori e agli amministratori dei siti e, sicuramente, a tutti i programmatori che si occupano della manutenzione dei suddetti siti web.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":452,"menu_order":29,"comment_status":"open","ping_status":"closed","template":"inerarioart.php","meta":{"footnotes":""},"class_list":["post-4524","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/eugigufo.net\/it\/wp-json\/wp\/v2\/pages\/4524","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/eugigufo.net\/it\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/eugigufo.net\/it\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/eugigufo.net\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/eugigufo.net\/it\/wp-json\/wp\/v2\/comments?post=4524"}],"version-history":[{"count":0,"href":"https:\/\/eugigufo.net\/it\/wp-json\/wp\/v2\/pages\/4524\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/eugigufo.net\/it\/wp-json\/wp\/v2\/pages\/452"}],"wp:attachment":[{"href":"https:\/\/eugigufo.net\/it\/wp-json\/wp\/v2\/media?parent=4524"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}