<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>Aldolat.it &#8212; Post con tag Plugin</title>
        <link>https://www.aldolat.it/tags/plugin/</link>
        <description>Ultimi post pubblicati nel tag Plugin &#8212; aldolat.it</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>it</language>
        <managingEditor>aldolat@gmail.com (Aldo Latino)</managingEditor>
        <webMaster>aldolat@gmail.com (Aldo Latino)</webMaster>
        <copyright>Creative Commons BY-SA 4.0</copyright>
        <lastBuildDate>Sun, 05 Jan 2025 22:56:54 +0100</lastBuildDate>
        <atom:link href="https://www.aldolat.it/tags/plugin/index.xml" rel="self" type="application/rss+xml" />
        <item>
            <title>Private Content 6.4.0</title>
            <link>https://www.aldolat.it/posts/2021/private-content-6-4-0/</link>
            <pubDate>Sun, 28 Feb 2021 09:00:00 +0000</pubDate>
            <author>aldolat@gmail.com (Aldo Latino)</author>
            <guid>https://www.aldolat.it/posts/2021/private-content-6-4-0/</guid>
            <description>Ho rilasciato ieri la versione 6.4.0 del mio plugin per WordPress Private Content. Questo rilascio aggiunge la possibilità di mostrare una nota privata solo all’autore dell’articolo, quindi agendo in modo dinamico, senza doverne specificare il nome. La funzione è stata aggiunta a seguito della richiesta di un utente nel forum di WordPress, esattamente qui.&#xA;La nuova funzione si usa inserendo post-author nell’opzione role dello shortcode, per esempio:&#xA;[private role=&amp;#34;post-author&amp;#34;]Text for the author of the post.[/private] Con questo shortcode, solo l’autore del post e il ruolo Amministratore vedranno la nota privata.</description>
            <content:encoded>&lt;figure class=&#34;aligncenter&#34;&gt;&lt;img src=&#34;https://www.aldolat.it/images/2021/02/private-content-banner.png&#34;&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;Ho rilasciato ieri la versione 6.4.0 del mio plugin per WordPress &lt;em&gt;Private Content&lt;/em&gt;. Questo rilascio aggiunge la possibilità di mostrare una nota privata solo all’autore dell’articolo, quindi agendo in modo dinamico, senza doverne specificare il nome. La funzione è stata aggiunta a seguito della richiesta di un utente nel forum di WordPress, esattamente &lt;a href=&#34;https://wordpress.org/support/topic/post-author-only/&#34;&gt;qui&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;La nuova funzione si usa inserendo &lt;code&gt;post-author&lt;/code&gt; nell’opzione &lt;code&gt;role&lt;/code&gt; dello shortcode, per esempio:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;[private role=&amp;#34;post-author&amp;#34;]Text for the author of the post.[/private]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Con questo shortcode, solo l’autore del post e il ruolo Amministratore vedranno la nota privata.&lt;/p&gt;&#xA;&lt;p&gt;Se invece si vuole escludere anche il ruolo Amministratore, bisognerà usare &lt;code&gt;post-author-only&lt;/code&gt;, ad esempio:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;[private role=&amp;#34;post-author-only&amp;#34;]Text for the author of the post.[/private]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Come per gli altri casi, si può usare l’opzione &lt;code&gt;alt&lt;/code&gt; per mostrare un testo alternativo per gli altri utenti, se si vuole.&lt;/p&gt;&#xA;&lt;p&gt;Per avere una panoramica dei vari casi utilizzabili per l’opzione &lt;code&gt;role&lt;/code&gt; ecco un’immagine, spero esplicativa:&lt;/p&gt;&#xA;&lt;figure class=&#34;aligncenter color&#34;&gt;&lt;img src=&#34;https://www.aldolat.it/images/2021/02/private-content-role-option.png&#34;&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;Tra le varie versioni ho aggiunto il manuale del plugin in formato wiki e PDF, dove ho tentato di spiegarne l’uso. Entrambi sono disponibili su GitHub: &lt;a href=&#34;https://github.com/aldolat/private-content/wiki&#34;&gt;qui&lt;/a&gt; il wiki e &lt;a href=&#34;https://github.com/aldolat/private-content.latex/blob/master/private-content.pdf&#34;&gt;qui&lt;/a&gt; il PDF.&lt;/p&gt;&#xA;&lt;p&gt;Una seconda novità introdotta da questa versione è il modo con cui il plugin costruisce le classe per il paragrafo che viene fuori. Come già sa chi usa questo plugin, con l’opzione &lt;code&gt;class&lt;/code&gt; si possono specificare le classi personali da aggiungere al paragrafo. La novità è che ora gli eventuali underscore (&lt;code&gt;_&lt;/code&gt;) saranno cambiati in trattini (&lt;code&gt;-&lt;/code&gt;). Quindi, ad esempio, in questo schortcode:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;[private class=&amp;#34;myclass1, custom-class-2, my_class_3&amp;#34;]Private text.[/private]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;la classe &lt;code&gt;my_class_3&lt;/code&gt; diverrà &lt;code&gt;my-class-3&lt;/code&gt;.&#xA;&lt;br&gt;&lt;br&gt;&#xA;&#xA;Il plugin è disponibile nel repository di WordPress:&lt;/p&gt;&#xA;&lt;p class=&#34;link&#34;&gt;&lt;a href=&#34;https://it.wordpress.org/plugins/private-content/&#34;&gt;https://it.wordpress.org/plugins/private-content/&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;L&#39;articolo &lt;a href=&#34;https://www.aldolat.it/posts/2021/private-content-6-4-0/&#34;&gt;Private Content 6.4.0&lt;/a&gt; è uno scritto di &lt;a href=&#34;https://www.aldolat.it/&#34;&gt;aldolat.it&lt;/a&gt;. Rispettane le &lt;a href=&#34;https://www.aldolat.it/info/#licenza&#34;&gt;condizioni di licenza&lt;/a&gt;.&lt;/p&gt;</content:encoded>
        </item>
        <item>
            <title>Search Regex 2.0</title>
            <link>https://www.aldolat.it/posts/2020/search-regex-2-0/</link>
            <pubDate>Sun, 10 May 2020 08:51:40 +0000</pubDate>
            <author>aldolat@gmail.com (Aldo Latino)</author>
            <guid>https://www.aldolat.it/posts/2020/search-regex-2-0/</guid>
            <description>Finalmente, dopo 4 anni, Search Regex è stato aggiornato alla nuova versione 2.0. Ormai pensavo che questo plugin per WordPress fosse stato abbandonato, e invece eccolo qui vivo e vegeto e riscritto da zero (&amp;ldquo;a ground-up rewrite&amp;rdquo;, dal Changelog).&#xA;La versione 1.4.16 rilasciata il 28 marzo 2016.&#xA;Qui sopra la versione 1.4.16 rilasciata il 28 marzo 2016, qui sotto la versione 2.0 rilasciata proprio ieri.</description>
            <content:encoded>&lt;p&gt;Finalmente, dopo 4 anni, &lt;a href=&#34;https://wordpress.org/plugins/search-regex/&#34;&gt;Search Regex&lt;/a&gt; è stato aggiornato alla nuova versione 2.0. Ormai pensavo che questo plugin per WordPress fosse stato abbandonato, e invece eccolo qui vivo e vegeto e riscritto da zero (&amp;ldquo;a ground-up rewrite&amp;rdquo;, dal &lt;em&gt;Changelog&lt;/em&gt;).&lt;/p&gt;&#xA;&lt;figure&gt;&lt;img src=&#34;https://www.aldolat.it/images/2020/05/search-regex-old.png&#34;&#xA;&#x9;&#x9;&#x9;alt=&#34;La versione 1.4.16 rilasciata il 28 marzo 2016.&#34;&gt;&lt;figcaption&gt;&#xA;&#x9;&#x9;&#x9;&lt;p&gt;La versione 1.4.16 rilasciata il 28 marzo 2016.&lt;/p&gt;&#xA;&#x9;&#x9;&lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;Qui sopra la versione 1.4.16 rilasciata il 28 marzo 2016, qui sotto la versione 2.0 rilasciata proprio ieri.&lt;/p&gt;&#xA;&lt;figure&gt;&lt;img src=&#34;https://www.aldolat.it/images/2020/05/search-regex-new.png&#34;&#xA;&#x9;&#x9;&#x9;alt=&#34;La versione 2.0 rilasciata proprio ieri.&#34;&gt;&lt;figcaption&gt;&#xA;&#x9;&#x9;&#x9;&lt;p&gt;La versione 2.0 rilasciata proprio ieri.&lt;/p&gt;&#xA;&#x9;&#x9;&lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;Grazie &lt;a href=&#34;https://profiles.wordpress.org/johnny5/&#34;&gt;@johhny5&lt;/a&gt;, per il lavoro fatto!&lt;/p&gt;&#xA;&lt;p&gt;L&#39;articolo &lt;a href=&#34;https://www.aldolat.it/posts/2020/search-regex-2-0/&#34;&gt;Search Regex 2.0&lt;/a&gt; è uno scritto di &lt;a href=&#34;https://www.aldolat.it/&#34;&gt;aldolat.it&lt;/a&gt;. Rispettane le &lt;a href=&#34;https://www.aldolat.it/info/#licenza&#34;&gt;condizioni di licenza&lt;/a&gt;.&lt;/p&gt;</content:encoded>
        </item>
        <item>
            <title>Quando il nome del tuo plugin non aiuta</title>
            <link>https://www.aldolat.it/posts/2019/quando-il-nome-del-tuo-plugin-non-aiuta/</link>
            <pubDate>Sun, 17 Nov 2019 08:51:40 +0000</pubDate>
            <author>aldolat@gmail.com (Aldo Latino)</author>
            <guid>https://www.aldolat.it/posts/2019/quando-il-nome-del-tuo-plugin-non-aiuta/</guid>
            <description>Chi segue questo blog magari si ricorderà che nel 2010 creai un plugin per mostrare una porzione del testo di un articolo o di una pagina solo a determinati ruoli di WordPress. Quel plugin, che creai a maggio del 2010 e resi disponibile al download dal sito digwp.com di Jeff Starr, è nei repository di WordPress da novembre del 2012.&#xA;Questo plugin si chiama Private Content. Un nome come un altro, ma purtroppo si è rivelato nel tempo eccessivamente semplice da usare per altri sviluppatori di plugin. Quantomeno nel repository di WordPress ce n’è uno che si chiama WP Private Content Plus e, nel repository di CodeCanyon, uno che ha lo stesso identico nome del mio, cioè Private Content, appunto.</description>
            <content:encoded>&lt;p class=&#34;dc3&#34;&gt;Chi segue questo blog magari si ricorderà che nel 2010 creai un plugin per mostrare una porzione del testo di un articolo o di una pagina solo a determinati ruoli di WordPress. Quel plugin, che creai &lt;a href=&#34;https://www.aldolat.it/posts/2010/un-plugin-per-aggiungere-contenuto-privato-ai-post/&#34;&gt;a maggio del 2010&lt;/a&gt; e resi disponibile al download dal sito &lt;a href=&#34;https://digwp.com/2010/05/private-content-posts-shortcode/&#34;&gt;digwp.com&lt;/a&gt; di Jeff Starr, è nei repository di WordPress &lt;a href=&#34;https://www.aldolat.it/2012/wordpress/plugin-private-content/&#34;&gt;da novembre del 2012&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Questo plugin si chiama &lt;em&gt;Private Content&lt;/em&gt;. Un nome come un altro, ma purtroppo si è rivelato nel tempo &lt;em&gt;eccessivamente semplice da usare&lt;/em&gt; per altri sviluppatori di plugin. Quantomeno nel repository di WordPress ce n’è uno che si chiama &lt;em&gt;WP Private Content Plus&lt;/em&gt; e, nel repository di CodeCanyon, uno che ha lo stesso identico nome del mio, cioè &lt;em&gt;Private Content&lt;/em&gt;, appunto.&lt;/p&gt;&#xA;&lt;p&gt;Questa cosa ha causato negli anni, compreso oggi, non poche noie, sia a me che agli utenti. Cominciamo dall’ultimo plugin, quello ospitato su CodeCanyon.&lt;/p&gt;&#xA;&lt;h2 id=&#34;private-content-su-codecanyonnet&#34;&gt;Private Content su codecanyon.net&lt;/h2&gt;&#xA;&lt;p&gt;Avendo questo plugin lo stesso identico nome del mio, succede che agli utenti del plugin di CodeCanyon &amp;mdash; quando io pubblico un aggiornamento &amp;mdash; WordPress sovrascrive la directory del plugin installato con quella del mio plugin.&lt;/p&gt;&#xA;&lt;p&gt;In altre parole, se un utente usa &lt;em&gt;Private Content&lt;/em&gt; di CodeCanyon e io pubblico un aggiornamento del mio plugin (che è tutto un altro plugin), WordPress gli installa il mio, con tutti i problemi che potete immaginare.&lt;/p&gt;&#xA;&lt;p&gt;Il plugin ospitato su CodeCanyon gestisce tutta una serie di funzioni (tra cui, se ho capito bene, autenticazione degli utenti, visibilità di contenuti a pagamento e cose simili), col risultato che, in caso di sovrascrittura del plugin legittimo, l’amministratore si ritrova con un plugin del tutto diverso e una situazione completamente sottosopra: dopo essersene accorto, dovrà ripristinare la situazione subito, altrimenti addio a tutti i permessi che aveva impostato.&lt;/p&gt;&#xA;&lt;p&gt;Com’è possibile che succeda questo? WordPress (almeno per ora) non ha una gestione dei plugin basata su firma crittografica, hash o tecniche di questo tipo, ma si basa, per aggiornare un plugin, sullo &lt;em&gt;slug&lt;/em&gt; del plugin, &lt;em&gt;slug&lt;/em&gt; che coincide col nome della directory dove viene ospitato sul suo repository. Quindi, se nel sito dell’utente la directory che contiene il plugin di CodeCanyon si chiama &lt;code&gt;private-content&lt;/code&gt; e WordPress si accorge che il plugin &lt;em&gt;Private Content&lt;/em&gt; fatto da Aldo (che ha lo stesso slug &lt;code&gt;private-content&lt;/code&gt;) è stato aggiornato rispetto a quello installato, WordPress lo &amp;ldquo;aggiorna&amp;rdquo;, sostituendo il contenuto della directory.&lt;/p&gt;&#xA;&lt;p&gt;Ho perso il conto di quanti utenti mi hanno segnalato questa cosa, ma non posso farci niente. Avrei dovuto, semmai, scegliere un nome più complicato, ma non era semplice immaginarsi una cosa di questo tipo.&lt;/p&gt;&#xA;&lt;h2 id=&#34;wp-private-content-pro-su-wordpressorg&#34;&gt;WP Private Content Pro su wordpress.org&lt;/h2&gt;&#xA;&lt;p&gt;La storia con questo plugin è invece recentissima. Non mi era mai capitato di imbattermi in problemi con lui.&lt;/p&gt;&#xA;&lt;p&gt;Oggi, di prima mattina, insieme col caffè mi arriva la segnalazione che un utente ha lasciato una recensione a una stella su questo plugin. Apro la recensione e leggo:&lt;/p&gt;&#xA;&lt;figure class=&#34;aligncenter&#34;&gt;&lt;img src=&#34;https://www.aldolat.it/images/2019/11/wp_review_1.png&#34;&#xA;&#x9;&#x9;&#x9;alt=&#34;wp_review_1&#34; width=&#34;350&#34;&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Easily infected&lt;/em&gt;! Addirittura! 😀 Ho notato subito, però, quel &lt;code&gt;wppcp_options&lt;/code&gt; che il mio plugin non crea assolutamente nel database. Immediatamente ho capito che si trattava di un’altro scambio di plugin: l’autore della recensione, mi sono detto, ha sbagliato posto.&lt;/p&gt;&#xA;&lt;p&gt;Cerco subito quale plugin possa creare quell’&lt;em&gt;option name&lt;/em&gt; nella tabella delle opzioni di WordPress. Non mi ci è voluto molto a trovare il plugin &lt;em&gt;WP Private Content Plus&lt;/em&gt; (notate il prefisso del nome delle opzioni &lt;code&gt;wppcp_&lt;/code&gt; che combacia con questo nome). Ho anche notato che nelle recensioni di questo plugin diversi utenti hanno segnalato (scorrettamente, perché non si fa così) problemi di sicurezza di questo plugin, ormai risolti a detta del suo autore.&lt;/p&gt;&#xA;&lt;p&gt;Ho fatto presente all’autore della recensione l’errore:&lt;/p&gt;&#xA;&lt;figure class=&#34;aligncenter&#34;&gt;&lt;img src=&#34;https://www.aldolat.it/images/2019/11/wp_review_2.png&#34;&#xA;&#x9;&#x9;&#x9;alt=&#34;wp_review_2&#34; width=&#34;350&#34;&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;Ho atteso quasi tutto il giorno. Nel tardo pomeriggio ho aggiunto un altro commento alla recensione, ma questa volta rivolgendomi ai moderatori e aggiungendo alla recensione il tag &lt;code&gt;modlook&lt;/code&gt;, fondamentale per far intervenire i moderatori:&lt;/p&gt;&#xA;&lt;figure class=&#34;aligncenter&#34;&gt;&lt;img src=&#34;https://www.aldolat.it/images/2019/11/wp_review_3.png&#34;&#xA;&#x9;&#x9;&#x9;alt=&#34;wp_review_3&#34; width=&#34;350&#34;&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;Pochi minuti dopo, un moderatore è intervenuto e, dopo aver lasciato un commento, ha cancellato la recensione. Ecco cosa ha scritto:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;@xxxyyyzzz&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;It appears you’ve posted this incorrectly so I’m removing it.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Reviews are not how you should deal with a potentially vulnerable plugin. Please see &lt;a href=&#34;https://developer.wordpress.org/plugins/wordpress-org/plugin-security/reporting-plugin-security-issues/&#34;&gt;https://developer.wordpress.org/plugins/wordpress-org/plugin-security/reporting-plugin-security-issues/&lt;/a&gt; for the proper procedure.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;&lt;span class=&#34;sc&#34;&gt;Steve Stern&lt;/span&gt;, su wordpress.org&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Il punto 1 era palese: il recensore si era sbagliato sulla pagina dove scrivere. Il punto 2 è interessante perché tiene conto della &lt;em&gt;responsible disclosure&lt;/em&gt;: detto in breve, se trovi una vulnerabilità, non spiattellarla subito ai quatto venti, ma avvisa in privato chi di competenza e dai un tempo massimo per la risoluzione del problema, al cui scadere renderai pubblica la vulnerabilità.&lt;/p&gt;&#xA;&lt;p&gt;Poco fa l’autore della recensione si è scusato via email e mi ha anche ringraziato per averlo guidato.&lt;/p&gt;&#xA;&lt;p&gt;Ecco, tutto questo per dire che, se avessi usato un nome del tutto diverso da &lt;em&gt;Private Content&lt;/em&gt;, di certo in questi anni non avrei dovuto perdere tempo dietro a queste storie.&lt;/p&gt;&#xA;&lt;p&gt;L&#39;articolo &lt;a href=&#34;https://www.aldolat.it/posts/2019/quando-il-nome-del-tuo-plugin-non-aiuta/&#34;&gt;Quando il nome del tuo plugin non aiuta&lt;/a&gt; è uno scritto di &lt;a href=&#34;https://www.aldolat.it/&#34;&gt;aldolat.it&lt;/a&gt;. Rispettane le &lt;a href=&#34;https://www.aldolat.it/info/#licenza&#34;&gt;condizioni di licenza&lt;/a&gt;.&lt;/p&gt;</content:encoded>
        </item>
        <item>
            <title>Una pezza per SyntaxHighlighter</title>
            <link>https://www.aldolat.it/posts/2019/una-pezza-per-syntaxhighlighter/</link>
            <pubDate>Sat, 19 Jan 2019 20:21:19 +0000</pubDate>
            <author>aldolat@gmail.com (Aldo Latino)</author>
            <guid>https://www.aldolat.it/posts/2019/una-pezza-per-syntaxhighlighter/</guid>
            <description>Con una funzione molto semplice è possibile mettere una pezza al problema del plugin SyntaxHighlighter, che segnalavo qui.&#xA;Grazie a @kaggdesign per la condivisione.</description>
            <content:encoded>&lt;p&gt;Con una funzione molto semplice è possibile &lt;a href=&#34;https://wordpress.org/support/topic/ampersand-character/#post-11108085&#34;&gt;mettere una pezza&lt;/a&gt; al problema del plugin SyntaxHighlighter, che segnalavo &lt;a href=&#34;https://www.aldolat.it/2019/asides/wordpress-syntaxhighlighter-evolved-escaping/&#34;&gt;qui&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Grazie a &lt;a href=&#34;https://wordpress.org/support/users/kaggdesign/&#34;&gt;@kaggdesign&lt;/a&gt; per la condivisione.&lt;/p&gt;&#xA;&lt;p&gt;L&#39;articolo &lt;a href=&#34;https://www.aldolat.it/posts/2019/una-pezza-per-syntaxhighlighter/&#34;&gt;Una pezza per SyntaxHighlighter&lt;/a&gt; è uno scritto di &lt;a href=&#34;https://www.aldolat.it/&#34;&gt;aldolat.it&lt;/a&gt;. Rispettane le &lt;a href=&#34;https://www.aldolat.it/info/#licenza&#34;&gt;condizioni di licenza&lt;/a&gt;.&lt;/p&gt;</content:encoded>
        </item>
        <item>
            <title>WordPress 5, SyntaxHighlighter Evolved e il carattere «&amp;»</title>
            <link>https://www.aldolat.it/posts/2019/wordpress-syntaxhighlighter-evolved-escaping/</link>
            <pubDate>Wed, 09 Jan 2019 18:24:17 +0000</pubDate>
            <author>aldolat@gmail.com (Aldo Latino)</author>
            <guid>https://www.aldolat.it/posts/2019/wordpress-syntaxhighlighter-evolved-escaping/</guid>
            <description>C&amp;rsquo;è attualmente un problema, confermato da Alex Mills, a.k.a. @viper007bond, circa il corretto escaping del carattere &amp;amp; in WordPress. Trovate la mia discussione con Alex nel forum di WordPress.&#xA;Dalle mie prove sembrerebbe che il problema si presenti solo nei pezzi di codice pubblicati in un post usando il plugin SyntaxHighlighter Evolved. Ad esempio:&#xA;Qui ho usato il blocco standard di WordPress per il codice e il carattere è correttamente mostrato.&#xA;Qui, invece, usando il blocco del plugin SyntaxHighlighter Evolved, no.</description>
            <content:encoded>&lt;p&gt;C&amp;rsquo;è attualmente un problema, confermato da Alex Mills, a.k.a. &lt;a href=&#34;https://profiles.wordpress.org/viper007bond&#34;&gt;@viper007bond&lt;/a&gt;, circa il corretto &lt;em&gt;escaping&lt;/em&gt; del carattere &lt;code&gt;&amp;amp;&lt;/code&gt; in WordPress. Trovate la mia discussione con Alex &lt;a href=&#34;https://wordpress.org/support/topic/ampersand-character/&#34;&gt;nel forum di WordPress&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Dalle mie prove sembrerebbe che il problema si presenti solo nei pezzi di codice pubblicati in un post usando il plugin &lt;a href=&#34;https://wordpress.org/plugins/syntaxhighlighter/&#34;&gt;SyntaxHighlighter Evolved&lt;/a&gt;. Ad esempio:&lt;/p&gt;&#xA;&lt;figure class=&#34;aligncenter&#34;&gt;&lt;img src=&#34;https://www.aldolat.it/images/2019/01/standard-wp-code-block.png&#34;&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;Qui ho usato il blocco standard di WordPress per il codice e il carattere è correttamente mostrato.&lt;/p&gt;&#xA;&lt;figure class=&#34;aligncenter&#34;&gt;&lt;img src=&#34;https://www.aldolat.it/images/2019/01/syntax-highlighter-block-code.png&#34;&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;Qui, invece, usando il blocco del plugin SyntaxHighlighter Evolved, no.&lt;/p&gt;&#xA;&lt;p&gt;Alex ha aperto &lt;a href=&#34;https://github.com/WordPress/gutenberg/issues/13218&#34;&gt;un ticket su Github&lt;/a&gt; in quanto dipenderebbe da WordPress.&lt;/p&gt;&#xA;&lt;p&gt;L&#39;articolo &lt;a href=&#34;https://www.aldolat.it/posts/2019/wordpress-syntaxhighlighter-evolved-escaping/&#34;&gt;WordPress 5, SyntaxHighlighter Evolved e il carattere «&amp;»&lt;/a&gt; è uno scritto di &lt;a href=&#34;https://www.aldolat.it/&#34;&gt;aldolat.it&lt;/a&gt;. Rispettane le &lt;a href=&#34;https://www.aldolat.it/info/#licenza&#34;&gt;condizioni di licenza&lt;/a&gt;.&lt;/p&gt;</content:encoded>
        </item>
        <item>
            <title>Facciamo il punto sul mio plugin “Posts in Sidebar”</title>
            <link>https://www.aldolat.it/posts/2019/facciamo-il-punto-su-posts-in-sidebar/</link>
            <pubDate>Sun, 06 Jan 2019 09:30:39 +0000</pubDate>
            <author>aldolat@gmail.com (Aldo Latino)</author>
            <guid>https://www.aldolat.it/posts/2019/facciamo-il-punto-su-posts-in-sidebar/</guid>
            <description>L&amp;rsquo;ultima volta che ho scritto di Posts in Sidebar è stato il 2 giugno 2013 e, da allora, sono stati fatti tanti rilasci di questo mio plugin. Tante ore spese a scrivere codice, fare debug e dare assistenza nel forum. Nato da un&amp;rsquo;esigenza puramente personale, il plugin venne pubblicato perché era giusto consentire ad altri di poterne trarre qualche vantaggio e, a quanto pare, viene usato da un po&amp;rsquo; di utenti.&#xA;Dalla versione 1.7, di cui scrivevo appunto nel giugno 2013, siamo arrivati alla versione 4.7.3. Il plugin è cambiato parecchio e tante funzioni sono state aggiunte: diciamo che l&amp;rsquo;oggetto WP_Query è abbastanza “alla portata di widget”. Dalla galleria di foto qui sotto (fare clic per ingrandire l&amp;rsquo;immagine) si vede come il plugin sia cresciuto: nella versione 1.0 le opzioni stanno tutte su una schermata, come anche nella successiva 1.7 anche se aumentate, mentre nell&amp;rsquo;attuale 4.7.3 sono cresciute a dismisura tanto che stanno quasi tutte racchiuse dentro pannelli e sottopannelli (ogni box verde è un pannello che si espande e si contrae con un clic):</description>
            <content:encoded>&lt;p&gt;L&amp;rsquo;ultima volta che ho scritto di &lt;em&gt;Posts in Sidebar&lt;/em&gt; è stato &lt;a href=&#34;https://www.aldolat.it/2013/wordpress/posts-in-sidebar-1-7/&#34;&gt;il 2 giugno 2013&lt;/a&gt; e, da allora, sono stati fatti tanti rilasci di questo mio plugin. Tante ore spese a scrivere codice, fare debug e dare assistenza nel forum. Nato da un&amp;rsquo;esigenza puramente personale, il plugin venne pubblicato perché era giusto consentire ad altri di poterne trarre qualche vantaggio e, a quanto pare, viene usato &lt;a href=&#34;https://wordpress.org/plugins/posts-in-sidebar/advanced/&#34;&gt;da un po&amp;rsquo; di utenti&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;figure class=&#34;aligncenter&#34;&gt;&lt;img src=&#34;https://www.aldolat.it/images/2019/01/posts-in-sidebar.png&#34;&#xA;&#x9;&#x9;&#x9;alt=&#34;posts-in-sidebar&#34;&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;Dalla versione 1.7, di cui scrivevo appunto nel giugno 2013, siamo arrivati alla versione 4.7.3. Il plugin è cambiato parecchio e tante funzioni sono state aggiunte: diciamo che l&amp;rsquo;oggetto &lt;code&gt;WP_Query&lt;/code&gt; è abbastanza “alla portata di widget”. Dalla galleria di foto qui sotto (fare clic per ingrandire l&amp;rsquo;immagine) si vede come il plugin sia cresciuto: nella versione 1.0 le opzioni stanno tutte su una schermata, come anche nella successiva 1.7 anche se aumentate, mentre nell&amp;rsquo;attuale 4.7.3 sono cresciute a dismisura tanto che stanno quasi tutte racchiuse dentro pannelli e sottopannelli (ogni box verde è un pannello che si espande e si contrae con un clic):&lt;/p&gt;&#xA;&#xA;&#xA;    &#xA;&#xA;&#xA;&lt;div class=&#34;gallery threecols&#34;&gt;&#xA;    &#xA;&#xA;&lt;figure class=&#34;color aligncenter&#34;&gt;&lt;a href=&#34;https://www.aldolat.it/images/2018/12/pis-1.png&#34;&gt;&lt;img src=&#34;https://www.aldolat.it/images/2018/12/pis-1.png&#34;&#xA;&#x9;&#x9;&#x9;alt=&#34;pis-1&#34;&gt;&lt;/a&gt;&lt;figcaption&gt;&#xA;&#x9;&#x9;&#x9;&lt;p&gt;Il pannello delle opzioni di Posts in Sidebar 1.0.&lt;/p&gt;&#xA;&#x9;&#x9;&lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&#xA;&lt;figure class=&#34;color aligncenter&#34;&gt;&lt;a href=&#34;https://www.aldolat.it/images/2018/12/pis-2.png&#34;&gt;&lt;img src=&#34;https://www.aldolat.it/images/2018/12/pis-2.png&#34;&#xA;&#x9;&#x9;&#x9;alt=&#34;pis-2&#34;&gt;&lt;/a&gt;&lt;figcaption&gt;&#xA;&#x9;&#x9;&#x9;&lt;p&gt;Il pannello delle opzioni di Posts in Sidebar 1.7.&lt;/p&gt;&#xA;&#x9;&#x9;&lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&#xA;&lt;figure class=&#34;color aligncenter&#34;&gt;&lt;a href=&#34;https://www.aldolat.it/images/2018/12/pis-3.png&#34;&gt;&lt;img src=&#34;https://www.aldolat.it/images/2018/12/pis-3.png&#34;&#xA;&#x9;&#x9;&#x9;alt=&#34;pis-3&#34;&gt;&lt;/a&gt;&lt;figcaption&gt;&#xA;&#x9;&#x9;&#x9;&lt;p&gt;Il pannello delle opzioni di Posts in Sidebar 4.7.3.&lt;/p&gt;&#xA;&#x9;&#x9;&lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;h2 id=&#34;a-cosa-serve-questo-plugin&#34;&gt;A cosa serve questo plugin&lt;/h2&gt;&#xA;&lt;figure class=&#34;color aligncenter&#34;&gt;&lt;img src=&#34;https://www.aldolat.it/images/2018/12/pis-4.png&#34;&#xA;&#x9;&#x9;&#x9;alt=&#34;pis-4&#34;&gt;&lt;figcaption&gt;&#xA;&#x9;&#x9;&#x9;&lt;p&gt;I sottopannelli dedicati alla personalizzazione della query.&lt;/p&gt;&#xA;&#x9;&#x9;&lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;Questo plugin serve a mostrare nella sidebar alcuni post scelti secondo determinati criteri. Ad esempio:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;mostrare gli ultimi post;&lt;/li&gt;&#xA;&lt;li&gt;mostrare gli ultimi post pubblicati in una o più categorie o in uno o più tag;&lt;/li&gt;&#xA;&lt;li&gt;mostrare post a caso;&lt;/li&gt;&#xA;&lt;li&gt;mostrare post a caso ma aventi certe tassonomie (categorie, tag, formati di post, ecc.);&lt;/li&gt;&#xA;&lt;li&gt;mostrare post con un certo stato (pubblicato, programmato, bozza, in attesa di revisione, ecc.);&lt;/li&gt;&#xA;&lt;li&gt;mostrare post di un certo autore;&lt;/li&gt;&#xA;&lt;li&gt;mostrare post con determinati campi personalizzati;&lt;/li&gt;&#xA;&lt;li&gt;mostrare post pubblicati in certi intervalli di date;&lt;/li&gt;&#xA;&lt;li&gt;mostrare post risultanti da una ricerca;&lt;/li&gt;&#xA;&lt;li&gt;mostrare post mediante query complesse di tassonomie;&lt;/li&gt;&#xA;&lt;li&gt;mostrare un determinato gruppo di post in tutte le pagine e, invece, i post dell&amp;rsquo;autore dell&amp;rsquo;articolo corrente quando si visualizza un articolo singolo;&lt;/li&gt;&#xA;&lt;li&gt;mostrare i post di una delle categorie del post quando si visualizza un articolo singolo;&lt;/li&gt;&#xA;&lt;li&gt;e altro ancora.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Oltre a ciò è possibile scegliere cosa visualizzare del post: oltre al titolo, si può scegliere se mostrare anche un estratto (o un altro tipo di testo); si può mostrare l&amp;rsquo;immagine in evidenza, le categorie, i tag, le tassonomie personalizzate, la data, ecc.&lt;/p&gt;&#xA;&lt;h2 id=&#34;il-prezzo-di-questo-plugin&#34;&gt;Il prezzo di questo plugin&lt;/h2&gt;&#xA;&lt;p&gt;&lt;em&gt;Posts in Sidebar&lt;/em&gt; è distribuito gratuitamente nel &lt;a href=&#34;https://wordpress.org/plugins/posts-in-sidebar/&#34;&gt;repository di WordPress&lt;/a&gt; ed è pubblicato sotto licenza GPL v3. Chi ha pagato tanto in termini di tempo e fatica sono io, ma l&amp;rsquo;ho fatto divertendomi. Quando, a volte, in alcune applicazioni disponibili sulla rete vedo la riga che dice &lt;em&gt;Made with love in California&lt;/em&gt; (o altrove), ecco ritengo che sia molto vero se penso alla mia esperienza di lavoro sui miei plugin. 🙂&lt;/p&gt;&#xA;&lt;h2 id=&#34;lassistenza-nel-forum&#34;&gt;L&amp;rsquo;assistenza nel forum&lt;/h2&gt;&#xA;&lt;p&gt;Uno dei punti cardine dello sviluppo di &lt;em&gt;Posts in Sidebar&lt;/em&gt; è stato il mio rapporto con gli utenti nel forum. Sempre rispettosi dello sviluppatore del plugin, mi hanno chiesto assistenza nell&amp;rsquo;uso ma soprattutto nell&amp;rsquo;adattamento dell&amp;rsquo;aspetto alla grafica del tema. Il plugin, infatti, non ha una grafica sua e visualizza i post senza interporre nulla a livello di CSS (se non quando esplicitamente si attivano alcune opzioni dedicate). Spessissimo mi hanno anche chiesto assistenza su cose che esulavano del tutto dal plugin, ma non mi sono tirato indietro e non li ho mai liquidati con risposte sbrigative, cercando invece di immedesimarmi e di dar loro il supporto richiesto.&lt;/p&gt;&#xA;&lt;p&gt;Il widget che questo plugin genera è stracarico di opzioni. Molte le ho aggiunte io, nel tentativo di rendere facilmente disponibile a tutti la potenza di &lt;code&gt;WP_Query&lt;/code&gt;, ma molte opzioni nascono nascono proprio da loro richieste. A memoria mia credo di averne respinte poche, perché le reputavo interessanti e utili per altri eventuali utenti.&lt;/p&gt;&#xA;&lt;h2 id=&#34;il-futuro-dello-sviluppo&#34;&gt;Il futuro dello sviluppo&lt;/h2&gt;&#xA;&lt;p&gt;Ad oggi non ho molto da aggiungere al plugin, perché credo di essere molto vicino al traguardo che mi ero prefissato: poter estrarre i post desiderati dal database e mostrarli in un widget.&lt;/p&gt;&#xA;&lt;p&gt;A livello di scrittura del codice confesso che mi sarebbe piaciuto programmarlo ad oggetti, ma non ho mai avuto il tempo di imparare. Non programmo per mestiere e guardando il codice si vede, ma oltre non potevo andare.&lt;/p&gt;&#xA;&lt;p&gt;L&#39;articolo &lt;a href=&#34;https://www.aldolat.it/posts/2019/facciamo-il-punto-su-posts-in-sidebar/&#34;&gt;Facciamo il punto sul mio plugin “Posts in Sidebar”&lt;/a&gt; è uno scritto di &lt;a href=&#34;https://www.aldolat.it/&#34;&gt;aldolat.it&lt;/a&gt;. Rispettane le &lt;a href=&#34;https://www.aldolat.it/info/#licenza&#34;&gt;condizioni di licenza&lt;/a&gt;.&lt;/p&gt;</content:encoded>
        </item>
        <item>
            <title>Il plugin «Health Check &amp; Troubleshooting»</title>
            <link>https://www.aldolat.it/posts/2018/il-plugin-health-check-troubleshooting/</link>
            <pubDate>Thu, 27 Dec 2018 13:52:56 +0000</pubDate>
            <author>aldolat@gmail.com (Aldo Latino)</author>
            <guid>https://www.aldolat.it/posts/2018/il-plugin-health-check-troubleshooting/</guid>
            <description>Una delle prime cose da fare quando si deve risolvere un problema in WordPress è quella di disabilitare tutti i plugin e di attivare uno dei temi di default, perché spesso il problema è proprio uno dei plugin oppure il tema in uso. Potrebbe anche essere un problema non di un plugin in se stesso o del tema in uso, ma di un&amp;rsquo;incompatibilità fra un plugin e un altro o di un plugin con quel tema specifico in uso. Bisogna quindi riportare WordPress a una situazione quanto più pulita possibile e vedere se il problema si ripresenta.</description>
            <content:encoded>&lt;p&gt;Una delle prime cose da fare quando si deve risolvere un problema in WordPress è quella di disabilitare tutti i plugin e di attivare uno dei temi di default, perché spesso il problema è proprio uno dei plugin oppure il tema in uso. Potrebbe anche essere un problema non di un plugin in se stesso o del tema in uso, ma di un&amp;rsquo;incompatibilità fra un plugin e un altro o di un plugin con quel tema specifico in uso. Bisogna quindi riportare WordPress a una situazione quanto più pulita possibile e vedere se il problema si ripresenta.&lt;/p&gt;&#xA;&lt;p&gt;Una volta ripristinata una situazione «pulita», si procede col riattivare manualmente uno dei plugin e vedere se il problema si ripresenta. Se il problema non si manifesta, si procede con la riattivazione di un altro plugin e col successivo controllo, e così via fino alla riattivazione di tutti i plugin e infine del tema stesso: di solito, con questo sistema, si riesce a trovare chi sta causando il problema.&lt;/p&gt;&#xA;&lt;p&gt;Tutto questo comporta che il sito, durante la fase di debugging, si troverà ad essere pubblicato senza il solito tema e senza i plugin di supporto. Per questo motivo, di solito, questa fase di ricerca del problema va fatta mettendo il sito in modalità manutenzione, tenendo quindi fuori gli utenti.&lt;/p&gt;&#xA;&lt;figure class=&#34;aligncenter&#34;&gt;&lt;img src=&#34;https://www.aldolat.it/images/2018/12/health-check-home.png&#34;&#xA;&#x9;&#x9;&#x9;alt=&#34;health-check-home&#34;&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;Per ovviare a tutto ciò è stato creato un plugin &lt;em&gt;ad hoc&lt;/em&gt;: &lt;a href=&#34;https://wordpress.org/plugins/health-check/&#34;&gt;Health Check &amp;amp; Troubleshooting&lt;/a&gt;, creato da &lt;a href=&#34;http://wordpress.org/plugins/health-check/&#34;&gt;The WordPress.org community&lt;/a&gt;, di cui non conoscevo l&amp;rsquo;esistenza fino a qualche giorno fa, quando ho notato una incompatibilità fra una funzione specifica di un mio plugin personale (non pubblicato) e Gutenberg.&lt;/p&gt;&#xA;&lt;p&gt;Una volta installato, è raggiungibile dal menu Bacheca &amp;gt; Health check. Tra le cose che offre, sottolineo quelle che mi interessano più da vicino e che sono utilissime quando gli utenti ti chiedono supporto su qualcosa che non va con WordPress:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;disattivare in un colpo solo tutti i plugin;&lt;/li&gt;&#xA;&lt;li&gt;attivare il tema di default di WordPress;&lt;/li&gt;&#xA;&lt;li&gt;avere questa situazione &lt;em&gt;vanilla&lt;/em&gt; solo per il nostro utente, mentre tutti gli altri visualizzeranno il sito come al solito.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Davvero notevole il fatto che solo il nostro utente vedrà questi cambiamenti, cosa che ci consente di operare con abbastanza tranquillità. In questa condizione si provvede alla solita scaletta di attivazione manuale dei plugin uno alla volta, finché non si isolerà il problema.&lt;/p&gt;&#xA;&lt;p&gt;Oltre a quanto detto, il plugin offre anche un utile servizio di controllo dell&amp;rsquo;integrità dei file. Se un file di sistema è stato modificato, viene mostrato come in figura qui sotto:&lt;/p&gt;&#xA;&lt;figure class=&#34;aligncenter&#34;&gt;&lt;img src=&#34;https://www.aldolat.it/images/2018/12/health_check_checksum.png&#34;&#xA;&#x9;&#x9;&#x9;alt=&#34;health_check_checksum&#34;&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;Nel caso specifico della foto si tratta di una modifica che apporto ogni volta che aggiorno WordPress in quanto SimplePie, fornito in bundle con WordPress, &lt;a href=&#34;https://core.trac.wordpress.org/ticket/36669&#34;&gt;non è aggiornato&lt;/a&gt; e &lt;a href=&#34;https://core.trac.wordpress.org/ticket/42515&#34;&gt;ha qualche problema con PHP 7&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;La riga di WordPress che modifico è la n. 694 del file &lt;code&gt;/wp-includes/SimplePie/Parse/Date.php&lt;/code&gt;. La riga originale di WordPress è la seguente:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$second&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;round&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$match&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;6&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$match&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;7&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;/&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;pow&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;strlen&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$match&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;7&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;])));&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;che modifico con questa:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$second&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;round&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;((&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;int&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$match&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;6&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;int&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$match&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;7&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;/&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;pow&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;strlen&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$match&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;7&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;])));&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Ecco una rapida carrellata di schermate del plugin:&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;aligncenter&#34;&gt;&lt;img src=&#34;https://www.aldolat.it/images/2018/12/health_check_1.png&#34;&#xA;&#x9;&#x9;&#x9;alt=&#34;health_check_1&#34;&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;figure class=&#34;aligncenter&#34;&gt;&lt;img src=&#34;https://www.aldolat.it/images/2018/12/health_check_2.png&#34;&#xA;&#x9;&#x9;&#x9;alt=&#34;health_check_2&#34;&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;figure class=&#34;aligncenter&#34;&gt;&lt;img src=&#34;https://www.aldolat.it/images/2018/12/health_check_3.png&#34;&#xA;&#x9;&#x9;&#x9;alt=&#34;health_check_3&#34;&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;figure class=&#34;aligncenter&#34;&gt;&lt;img src=&#34;https://www.aldolat.it/images/2018/12/health_check_4.png&#34;&#xA;&#x9;&#x9;&#x9;alt=&#34;health_check_4&#34;&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;figure class=&#34;aligncenter&#34;&gt;&lt;img src=&#34;https://www.aldolat.it/images/2018/12/health_check_5.png&#34;&#xA;&#x9;&#x9;&#x9;alt=&#34;health_check_5&#34;&gt;&#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;Finalmente ho un plugin da consigliare quando qualcuno mi chiede assistenza! Se volete approfondire su questo plugin, potete dare un&amp;rsquo;occhiata alla &lt;a href=&#34;https://make.wordpress.org/support/handbook/appendix/troubleshooting-using-the-health-check/&#34;&gt;pagina dedicata&lt;/a&gt; nell&amp;rsquo;&lt;em&gt;Handbook&lt;/em&gt; di WordPress.&lt;/p&gt;&#xA;&lt;p&gt;L&#39;articolo &lt;a href=&#34;https://www.aldolat.it/posts/2018/il-plugin-health-check-troubleshooting/&#34;&gt;Il plugin «Health Check &amp; Troubleshooting»&lt;/a&gt; è uno scritto di &lt;a href=&#34;https://www.aldolat.it/&#34;&gt;aldolat.it&lt;/a&gt;. Rispettane le &lt;a href=&#34;https://www.aldolat.it/info/#licenza&#34;&gt;condizioni di licenza&lt;/a&gt;.&lt;/p&gt;</content:encoded>
        </item>
        <item>
            <title>Posts in Sidebar 1.7</title>
            <link>https://www.aldolat.it/posts/2013/posts-in-sidebar-1-7/</link>
            <pubDate>Sun, 02 Jun 2013 05:41:30 +0000</pubDate>
            <author>aldolat@gmail.com (Aldo Latino)</author>
            <guid>https://www.aldolat.it/posts/2013/posts-in-sidebar-1-7/</guid>
            <description>A piccoli passi il plugin Posts in Sidebar sta crescendo e ieri ha raggiunto la versione 1.7 con alcune aggiunte che faranno piacere di certo a qualche utente. Ho visto infatti che c&amp;rsquo;è un base di utenza affezionata che interagisce sia tramite il forum sia via email e, oltre a richieste di supporto, lanciano idee assolutamente condivisibili. Il più delle volte ho cercato di accontentarli: un esempio è questo post.&#xA;Oltre a migliorie varie, le novità di questa versione sono:</description>
            <content:encoded>&lt;figure class=&#34;aligncenter&#34;&gt;&lt;img src=&#34;https://www.aldolat.it/images/2019/01/posts-in-sidebar.png&#34;&#xA;&#x9;&#x9;&#x9;alt=&#34;posts-in-sidebar&#34;&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;A piccoli passi il plugin &lt;a href=&#34;http://wordpress.org/extend/plugins/posts-in-sidebar/&#34;&gt;Posts in Sidebar&lt;/a&gt; sta crescendo e ieri ha raggiunto la versione 1.7 con alcune aggiunte che faranno piacere di certo a qualche utente. Ho visto infatti che c&amp;rsquo;è un base di utenza affezionata che interagisce sia tramite il &lt;a href=&#34;http://wordpress.org/support/plugin/posts-in-sidebar&#34;&gt;forum&lt;/a&gt; sia via email e, oltre a richieste di supporto, lanciano idee assolutamente condivisibili. Il più delle volte ho cercato di &lt;a href=&#34;http://wordpress.org/support/view/plugin-reviews/posts-in-sidebar&#34;&gt;accontentarli&lt;/a&gt;: un esempio è &lt;a href=&#34;http://wordpress.org/support/topic/posts-in-sidebar-14?replies=8#post-4012162&#34;&gt;questo post&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Oltre a migliorie varie, le novità di questa versione sono:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;la possibilità di prelevare non solo i post &amp;ldquo;classici&amp;rdquo;, ma anche i post personalizzati (i &lt;em&gt;&lt;a href=&#34;http://codex.wordpress.org/Post_Types#Custom_Post_Types&#34;&gt;Custom post types&lt;/a&gt;&lt;/em&gt;) e le pagine statiche;&lt;/li&gt;&#xA;&lt;li&gt;ora il contenuto del post può essere mostrato nella sua pienezza, proprio come WordPress lo mostra quando si legge la pagina del post singolo (utile, a mio avviso, per post composti solo da un video, ad esempio);&lt;/li&gt;&#xA;&lt;li&gt;è possibile adesso definire un testo per il classico &amp;ldquo;Continua a leggere&amp;hellip;&amp;rdquo;, anziché vedere solo la freccia a destra (il carattere ?);&lt;/li&gt;&#xA;&lt;li&gt;è possibile anche mostrare l&amp;rsquo;autore del post, il cui nome può essere collegabile alla pagina del suo archivio di post (questa è stata, come il punto precedente, più una dimenticanza che altro, ma essendo nato il plugin per scopi inizialmente personali non mi era necessario mostrare l&amp;rsquo;autore del post);&lt;/li&gt;&#xA;&lt;li&gt;il plugin è stato tradotto in francese, grazie a Thérèse Lachance.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;In una prossima versione, che dovrei rilasciare a breve, troverete anche l&amp;rsquo;opzione per prelevare post con un certo formato: ad esempio, sarà possibile prelevare post che abbiano &amp;ldquo;Video&amp;rdquo; oppure &amp;ldquo;Galleria&amp;rdquo; come loro formato. Questa funzione è già implementata nella versione in sviluppo &lt;a href=&#34;https://github.com/aldolat/posts-in-sidebar&#34;&gt;1.8 su GitHub&lt;/a&gt;, ancora quindi da revisionare.&lt;/p&gt;&#xA;&lt;p&gt;Un&amp;rsquo;altra funzionalità che ho intenzione di aggiungere è quella di prelevare i post mediante le tassonomie personalizzate (&lt;em&gt;&lt;a href=&#34;http://codex.wordpress.org/Taxonomies#Custom_Taxonomies&#34;&gt;Custom taxonomies&lt;/a&gt;&lt;/em&gt;).&lt;/p&gt;&#xA;&lt;p&gt;L&#39;articolo &lt;a href=&#34;https://www.aldolat.it/posts/2013/posts-in-sidebar-1-7/&#34;&gt;Posts in Sidebar 1.7&lt;/a&gt; è uno scritto di &lt;a href=&#34;https://www.aldolat.it/&#34;&gt;aldolat.it&lt;/a&gt;. Rispettane le &lt;a href=&#34;https://www.aldolat.it/info/#licenza&#34;&gt;condizioni di licenza&lt;/a&gt;.&lt;/p&gt;</content:encoded>
        </item>
        <item>
            <title>Concedete una pausa al file functions.php</title>
            <link>https://www.aldolat.it/posts/2012/pausa-file-functions/</link>
            <pubDate>Tue, 27 Nov 2012 21:51:22 +0000</pubDate>
            <author>aldolat@gmail.com (Aldo Latino)</author>
            <guid>https://www.aldolat.it/posts/2012/pausa-file-functions/</guid>
            <description>Ryan, di WPCandy, chiama il file functions.php di WordPress the poor guy e scrive che si merita una pausa. E ha ragione. Qualche mese fa scrissi un post invitando coloro che aggiungono funzioni aggiuntive al proprio blog utilizzando questo file a crearsi un plugin apposito che le contenga. Nel suo post Ryan tratta questo argomento e lo estende in maniera interessante.</description>
            <content:encoded>&lt;p&gt;Ryan, di WPCandy, chiama il file &lt;code&gt;functions.php&lt;/code&gt; di WordPress &lt;em&gt;&lt;a href=&#34;http://wpcandy.com/teaches/how-to-create-a-functionality-plugin/&#34;&gt;the poor guy&lt;/a&gt;&lt;/em&gt; e scrive che si merita una pausa. E ha ragione. Qualche mese fa scrissi &lt;a href=&#34;https://www.aldolat.it/posts/2012/crearsi-un-plugin-per-le-funzioni-personalizzate/&#34;&gt;un post&lt;/a&gt; invitando coloro che aggiungono funzioni aggiuntive al proprio blog utilizzando questo file a crearsi un plugin apposito che le contenga. Nel &lt;a href=&#34;http://wpcandy.com/teaches/how-to-create-a-functionality-plugin/&#34;&gt;suo post&lt;/a&gt; Ryan tratta questo argomento e lo estende in maniera interessante.&lt;/p&gt;&#xA;&lt;p&gt;L&#39;articolo &lt;a href=&#34;https://www.aldolat.it/posts/2012/pausa-file-functions/&#34;&gt;Concedete una pausa al file functions.php&lt;/a&gt; è uno scritto di &lt;a href=&#34;https://www.aldolat.it/&#34;&gt;aldolat.it&lt;/a&gt;. Rispettane le &lt;a href=&#34;https://www.aldolat.it/info/#licenza&#34;&gt;condizioni di licenza&lt;/a&gt;.&lt;/p&gt;</content:encoded>
        </item>
        <item>
            <title>Plugin Private Content</title>
            <link>https://www.aldolat.it/posts/2012/plugin-private-content/</link>
            <pubDate>Sun, 25 Nov 2012 11:10:18 +0000</pubDate>
            <author>aldolat@gmail.com (Aldo Latino)</author>
            <guid>https://www.aldolat.it/posts/2012/plugin-private-content/</guid>
            <description>Ieri ho caricato sul repository di WordPress il mio plugin Private Content, di cui feci cenno qualche anno fa. Il plugin, che veniva distribuito da Jeff nel suo sito, adesso è disponibile comodamente dalla dashboard del nostro CMS.&#xA;A che serve Come spiegavo nel mio vecchio articolo, esso serve a nascondere parte del testo di un articolo a tutti tranne a coloro che fanno parte di un determinato ruolo. In un blog strutturato e con diversi contributori con ruoli diversi (Amministratori, Editori, Autori, Collaboratori, Sottoscrittori) può essere utile mostrare parti del testo solo a certi ruoli.</description>
            <content:encoded>&lt;p&gt;Ieri ho caricato sul repository di WordPress il mio plugin &lt;em&gt;Private Content&lt;/em&gt;, di cui feci cenno &lt;a href=&#34;https://www.aldolat.it/posts/2010/un-plugin-per-aggiungere-contenuto-privato-ai-post/&#34;&gt;qualche anno fa&lt;/a&gt;. Il plugin, che veniva distribuito da Jeff &lt;a href=&#34;http://digwp.com/2010/05/private-content-posts-shortcode/&#34;&gt;nel suo sito&lt;/a&gt;, adesso è disponibile comodamente dalla dashboard del nostro CMS.&lt;/p&gt;&#xA;&lt;h2 id=&#34;a-che-serve&#34;&gt;A che serve&lt;/h2&gt;&#xA;&lt;p&gt;Come spiegavo nel mio vecchio articolo, esso serve a nascondere parte del testo di un articolo a tutti tranne a coloro che fanno parte di un determinato ruolo. In un blog strutturato e con diversi contributori con ruoli diversi (&lt;em&gt;Amministratori&lt;/em&gt;, &lt;em&gt;Editori&lt;/em&gt;, &lt;em&gt;Autori&lt;/em&gt;, &lt;em&gt;Collaboratori&lt;/em&gt;, &lt;em&gt;Sottoscrittori&lt;/em&gt;) può essere utile mostrare parti del testo solo a certi ruoli.&lt;/p&gt;&#xA;&lt;p&gt;Si tenga presente che, diversamente da come scrivevo nel mio vecchio post, non è possibile mostrare solo ed esclusivamente a un determinato gruppo una parte di testo. Non è possibile, ad esempio, mostrare solo al gruppo &lt;em&gt;Autori&lt;/em&gt; quel testo perché i ruoli con poteri superiori, come gli &lt;em&gt;Editori&lt;/em&gt; e gli &lt;em&gt;Amministratori&lt;/em&gt; potranno leggerlo.&lt;/p&gt;&#xA;&lt;div class=&#34;note&#34;&gt;&#xA;    &#xA;    &lt;div class=&#34;title-note&#34;&gt;&#xA;        Aggiornamento&#xA;    &lt;/div&gt;&#xA;    &#xA;    &lt;p class=&#34;aside&#34;&gt;&#xA;        Dalla versione 2.0 è possibile mostrare il testo nascosto solo a quei ruoli cui è destinato. Ad esempio, un pezzo di testo può essere mostrato agli Autori soltanto, escludendo sia i ruoli inferiori che superiori.&#xA;    &lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;h2 id=&#34;come-si-usa&#34;&gt;Come si usa&lt;/h2&gt;&#xA;&lt;p&gt;Si usa tramite &lt;em&gt;shortcode&lt;/em&gt; indicando il ruolo cui è destinato quel testo. Ad esempio:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;[private role=&amp;#34;author&amp;#34;]Autori, attenzione! Questo è un testo per voi.[/private]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Se non si specifica il ruolo di destinazione, quello predefinito è &amp;ldquo;Administrator&amp;rdquo;:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;[private]Amministratori, attenzione! Questo è un testo per voi.[/private]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;I ruoli che usa il plugin sono quelli standard di WordPress, in ordine descrente riguardo le capacità:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;administrator&lt;/li&gt;&#xA;&lt;li&gt;editor&lt;/li&gt;&#xA;&lt;li&gt;author&lt;/li&gt;&#xA;&lt;li&gt;contributor&lt;/li&gt;&#xA;&lt;li&gt;subscriber&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;L&amp;rsquo;amministratore legge i suoi messaggi e quelli destinati ai ruoli inferiori; l&amp;rsquo;edtore ugualmente, ma non quelli destinati a chi gli sta sopra, e così via.&lt;/p&gt;&#xA;&lt;p&gt;Evidentemente, se disinstallate o disattivate questo plugin, tutte le &amp;ldquo;note private&amp;rdquo; verranno rese visibili a tutti.&lt;/p&gt;&#xA;&lt;h2 id=&#34;download-e-installazione&#34;&gt;Download e installazione&lt;/h2&gt;&#xA;&lt;p&gt;La pagina ufficiale del plugin, presente nei repository di WordPress, è la seguente: &lt;a href=&#34;http://wordpress.org/extend/plugins/private-content/&#34;&gt;http://wordpress.org/extend/plugins/private-content/&lt;/a&gt; ma può essere installato, come dicevo, dalla dashboard di WordPress.&lt;/p&gt;&#xA;&lt;p&gt;Una volta installato, lo shortcode è immediatamente disponibile. Non c&amp;rsquo;è alcuna pagina di impostazione, né opzioni da configurare.&lt;/p&gt;&#xA;&lt;h2 id=&#34;riconoscimenti&#34;&gt;Riconoscimenti&lt;/h2&gt;&#xA;&lt;p&gt;È doveroso riconoscere i meriti alle seguenti persone:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A &lt;span class=&#34;sc&#34;&gt;Jean-Baptiste Jung&lt;/span&gt; per il &lt;a href=&#34;http://www.wprecipes.com/add-private-notes-to-your-wordpress-blog-posts&#34;&gt;primo suggerimento&lt;/a&gt; in merito a questa possibilità, come spiegava nel suo vecchio articolo;&lt;/li&gt;&#xA;&lt;li&gt;A &lt;span class=&#34;sc&#34;&gt;Jeff Starr&lt;/span&gt; per aver colto il suo suggerimento e aver dato &lt;a href=&#34;http://digwp.com/2010/05/private-content-posts-shortcode&#34;&gt;l&amp;rsquo;idea di uno shortcode&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Io, poi, decisi di farne un comodo plugin.&lt;/p&gt;&#xA;&lt;p&gt;L&#39;articolo &lt;a href=&#34;https://www.aldolat.it/posts/2012/plugin-private-content/&#34;&gt;Plugin Private Content&lt;/a&gt; è uno scritto di &lt;a href=&#34;https://www.aldolat.it/&#34;&gt;aldolat.it&lt;/a&gt;. Rispettane le &lt;a href=&#34;https://www.aldolat.it/info/#licenza&#34;&gt;condizioni di licenza&lt;/a&gt;.&lt;/p&gt;</content:encoded>
        </item>
    </channel>
</rss>
