{"id":232370,"date":"2023-01-10T11:54:00","date_gmt":"2023-01-10T08:54:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=232370"},"modified":"2022-11-10T09:03:16","modified_gmt":"2022-11-10T06:03:16","slug":"rendi-responsivi-i-tweet-incorporati-in-wordpress","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/it\/rendi-responsivi-i-tweet-incorporati-in-wordpress\/","title":{"rendered":"Rendi responsivi i tweet incorporati in WordPress"},"content":{"rendered":"\n<p>WordPress ti consente di incorporare tweet incollando l&#8217;URL del tweet nei tuoi post. Ottieni una bella carta con il tweet e tutti i dettagli rilevanti. Purtroppo, questa scheda non funzioner\u00e0 su siti reattivi a causa di una larghezza di correzione applicata da Twitter. In questo post vedremo come rimuoverlo e anche rendere il nostro tweet incorporato adeguatamente reattivo.<\/p>\n<h2>Panoramica<\/h2>\n<p>Prima che il tweet venga elaborato per mostrare la scheda con l&#8217;autore, l&#8217;avatar Twitter, il pulsante Segui e altri metadati, viene visualizzato come un semplice elemento HTML blockquote con l&#8217;attributo di larghezza fissa impostato, che per impostazione predefinita \u00e8 500px. Ovviamente, questa larghezza fissa interromper\u00e0 il nostro layout reattivo, quindi in pratica dobbiamo rimuovere questo attributo in modo che la scheda tweet elaborata appaia senza larghezza fissa.<\/p>\n<p>Dopo averlo rimosso, applicheremo un semplice stile CSS in modo che funzioni in modo reattivo con il resto delle dimensioni del sito.<\/p>\n<h2>WordPress oEmbed e filtri<\/h2>\n<p>Il nostro tweet viene posizionato utilizzando oEmbed, una tecnologia utilizzata da WordPress che ci consente di inserire contenuti da altri siti semplicemente inserendo il collegamento nel nostro editor di post. WordPress interrogher\u00e0 automaticamente il sito del provider (che non pu\u00f2 essere solo Twitter, ma YouTube, Vimeo e altri) e otterr\u00e0 l&#8217;HTML da inserire nel nostro sito.<\/p>\n<p>L&#8217;HTML restituito dal sito del provider pu\u00f2 essere elaborato utilizzando uno dei filtri forniti da WordPress per farlo e modificare il markup. Utilizzeremo il filtro <strong>oembed_result<\/strong>, che viene eseguito dopo aver ottenuto l&#8217;HTML dal provider oEmbed e prima che venga salvato nella cache. Il vantaggio di ci\u00f2 \u00e8 che il filtro non dovr\u00e0 essere eseguito ogni volta che si visita il sito, con conseguente risposta pi\u00f9 rapida e, naturalmente, tempi di caricamento pi\u00f9 rapidi.<\/p>\n<h2>Filtraggio del tweet<\/h2>\n<p>Questo codice dovrebbe essere inserito nel file functions.php del tuo tema<\/p>\n<pre><code>&lt;?php\n\/** Remove fixed width from embedded tweets. First step to make them responsive. \n * @param string $html HTML that should be used to embed \n * @param string $url The URL to the content that should be attempted to be embedded. \n * @param array $args Optional arguments. \n * @author Elio Rivero \n * @link https:\/\/startfunction.com \n *\/ \nfunction startfunction_oembed_result($html, $url, $args)\n{\n    \/\/ Check if it's a tweet looking for 'twitter' in the url pasted in the post\n    if (stripos($url, 'twitter')) {\n        \/\/ Before the tweet is processed, it's displayed as a blockquote \/\/ with its width attribute set, so let's remove it. \n        return preg_replace('#width=\"(.*)\"#', '', $html);\n    }\n    \/\/ Otherwise return the HTML as is. \n    return $html;\n} \n\/\/ Filter the result of the oEmbed extraction. \nadd_filter('oembed_result', 'startfunction_oembed_result', 10, 3);\n<\/code><\/pre>\n<p>Il <code>$url<\/code>parametro \u00e8 il collegamento al tweet che stiamo incorporando. Stiamo controllando se proviene da Twitter, altrimenti non vogliamo eseguirlo. Stiamo usando str_replace per cercare la stringa <strong><code>width=\"500\"<\/code><\/strong>sostituendola con una stringa vuota.<\/p>\n<h2>Rendere reattiva la scheda tweet<\/h2>\n<p>Abbiamo ancora bisogno di aggiungere alcuni CSS per renderlo reattivo, quindi inserisci quanto segue nel foglio di stile del tuo tema (o plug-in).<\/p>\n<pre><code>#main .twitter-tweet-rendered, #main .twt-border {\n    max-width: 100% !important; \n}<\/code><\/pre>\n<p>e proprio con questo i tuoi tweet incorporati saranno reattivi.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte di registrazione:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/startfunction.com\" class=\"external external_icon\">startfunction.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>WordPress ti consente di incorporare tweet incollando l&#8217;URL del tweet nei tuoi post. Ottieni una bella carta con il tweet e tutti i dettagli rilevanti. Purtroppo, questa carta<\/p>\n","protected":false},"author":1,"featured_media":236911,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[896,835,814,844,865],"tags":[1168],"class_list":["post-232370","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codice","category-guida-per-principianti","category-plugin-2","category-tutorial","category-wordpress-6","tag-affiai-it"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/232370","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=232370"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/232370\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media\/236911"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media?parent=232370"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/categories?post=232370"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/tags?post=232370"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}