<?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 W3C</title>
        <link>https://www.aldolat.it/tags/w3c/</link>
        <description>Ultimi post pubblicati nel tag W3C &#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, 24 Apr 2022 21:32:22 +0200</lastBuildDate>
        <atom:link href="https://www.aldolat.it/tags/w3c/index.xml" rel="self" type="application/rss+xml" />
        <item>
            <title>WordPress, YouTube e W3C</title>
            <link>https://www.aldolat.it/posts/2010/wordpress-youtube-w3c/</link>
            <pubDate>Mon, 11 Jan 2010 15:39:13 +0000</pubDate>
            <author>aldolat@gmail.com (Aldo Latino)</author>
            <guid>https://www.aldolat.it/posts/2010/wordpress-youtube-w3c/</guid>
            <description>Con la versione 2.9+ di WordPress abbiamo avuto un bel regalino che probabilmente farà felici quelli che sono soliti pubblicare video da YouTube: grazie a oEmbed, adesso, basta inserire nel pannello di scrittura l&amp;rsquo;URL della pagina del video per vedersi comparire magicamente il filmato. Ottima cosa, ma ci sono due problemi:&#xA;il codice HTML non viene validato da W3C; il video rimane in cima a qualunque altro elemento della pagina, compreso un eventuale menu a discesa. Per quanto riguarda il primo, la mancata validazione è dovuta alla presenza dell&amp;rsquo;elemento &amp;lt;embed&amp;gt; che non fa parte delle specifiche XHTML:</description>
            <content:encoded>&lt;p&gt;Con la versione 2.9+ di WordPress abbiamo avuto un bel regalino che probabilmente farà felici quelli che sono soliti pubblicare video da YouTube: grazie a &lt;a href=&#34;http://en.wikipedia.org/wiki/OEmbed&#34;&gt;oEmbed&lt;/a&gt;, adesso, basta inserire nel pannello di scrittura l&amp;rsquo;URL della pagina del video per vedersi comparire magicamente il filmato. Ottima cosa, ma ci sono due problemi:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;il codice HTML non viene validato da &lt;a href=&#34;http://validator.w3.org/&#34;&gt;W3C&lt;/a&gt;;&lt;/li&gt;&#xA;&lt;li&gt;il video rimane in cima a qualunque altro elemento della pagina, compreso un eventuale menu a discesa.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Per quanto riguarda il primo, la mancata validazione è dovuta alla presenza dell&amp;rsquo;elemento &lt;code&gt;&amp;lt;embed&amp;gt;&lt;/code&gt; che &lt;a href=&#34;http://www.alistapart.com/articles/flashsatay&#34;&gt;non fa parte&lt;/a&gt; delle specifiche XHTML:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;The &lt;code&gt;&amp;lt;embed&amp;gt;&lt;/code&gt; element was created by Netscape as their method of embedding plug ins and players in web pages. It’s not part of the XHTML specification, and while some browsers other than Netscape support it, it’s not standards-compliant, so it’s out.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Per il secondo problema, esso è dovuto alla mancanza del parametro &lt;code&gt;wmode=transparent&lt;/code&gt;: in questo modo esso viene a trovarsi sopra qualunque altro elemento della pagina, compreso un menu a discesa, come succede nello screenshot che segue:&lt;/p&gt;&#xA;&lt;figure class=&#34;aligncenter&#34;&gt;&lt;img src=&#34;https://www.aldolat.it/images/2010/01/youtube-wmode.png&#34;&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;Ho aperto &lt;a href=&#34;http://core.trac.wordpress.org/ticket/11436&#34;&gt;un ticket&lt;/a&gt; sul Trac di WordPress: pur sapendo che non è un bug del CMS ma del provider che fornisce il codice oEmbed, ho fatto ugualmente presente il problema.&lt;/p&gt;&#xA;&lt;h3 id=&#34;come-ho-risolto&#34;&gt;Come ho risolto&lt;/h3&gt;&#xA;&lt;p&gt;Mi sono creato una funzione &lt;em&gt;ad hoc&lt;/em&gt; che mi fornisce uno &lt;a href=&#34;http://codex.wordpress.org/Shortcode_API&#34;&gt;shortcode&lt;/a&gt; semplice da usare nel pannello di scrittura: in questo modo ho il pieno controllo del markup HTML generato. Ecco la funzione:&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;k&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;youtubevideo&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$atts&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;extract&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;shortcode_atts&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;array&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;s1&#34;&gt;&amp;#39;video&amp;#39;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;),&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$atts&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;));&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nv&#34;&gt;$videoid&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;substr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$video&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;31&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;11&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;lt;p&amp;gt;&amp;lt;object type=&amp;#34;application/x-shockwave-flash&amp;#34; data=&amp;#34;http://www.youtube.com/v/&amp;#39;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$videoid&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;amp;amp;hl=it_IT&amp;#34; width=&amp;#34;460&amp;#34; height=&amp;#34;372&amp;#34;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt;  &amp;lt;param name=&amp;#34;movie&amp;#34; value=&amp;#34;http://www.youtube.com/v/&amp;#39;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$videoid&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;amp;amp;hl=it_IT&amp;#34; /&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt;  &amp;lt;param name=&amp;#34;FlashVars&amp;#34; value=&amp;#34;playerMode=embedded&amp;#34; /&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt;  &amp;lt;param name=&amp;#34;wmode&amp;#34; value=&amp;#34;transparent&amp;#34; /&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt;  &amp;lt;/object&amp;gt;&amp;lt;/p&amp;gt;&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;add_shortcode&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;youtube&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;youtubevideo&amp;#34;&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;Questa funzione va incollata nel file &lt;code&gt;functions.php&lt;/code&gt; del proprio tema, dove si può personalizzare la dimensione di uscita del video: qui è 460x372 pixel, ma ognuno può inserire il valore che preferisce. Da questo momento si ha a disposizione uno shortcode da usare così:&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;[youtube video=http://www.youtube.com/watch?v=kC9Ju63Bchk]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Basta inserire l&amp;rsquo;indirizzo del video che si deve pubblicare e WordPress scriverà tutto il resto. Questa volta valido per il W3C e senza sovrapposizioni.&lt;/p&gt;&#xA;&lt;p&gt;L&#39;articolo &lt;a href=&#34;https://www.aldolat.it/posts/2010/wordpress-youtube-w3c/&#34;&gt;WordPress, YouTube e W3C&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>
