Tutorial WordPress affidabili, quando ne hai più bisogno.
Guida per principianti a WordPress
WPB Cup
25 Milioni+
Siti web che utilizzano i nostri plugin
16+
Anni di esperienza con WordPress
3000+
Tutorial WordPress di esperti

Come impostare la larghezza massima di oEmbed in WordPress (4 metodi semplici)

WordPress rende facile creare pagine coinvolgenti e multimediali incorporando automaticamente contenuti di terze parti come video di YouTube e Tweet.

Tuttavia, dopo aver lavorato a stretto contatto con gli utenti di WordPress negli ultimi 15 anni, una lezione che abbiamo imparato è che gli oEmbed possono anche causare problemi. Immagina un video di YouTube che trabocca dal suo contenitore e spinge tutto il tuo testo di lato, o forza il tuo pulsante di invito all'azione più in basso sullo schermo.

È qui che entra in gioco l'impostazione di una larghezza massima per gli oEmbed. Ti consente di prendere il controllo e garantire che i tuoi contenuti incorporati si adattino perfettamente al design del tuo sito web.

In questo articolo, ti mostreremo come impostare la larghezza massima degli oEmbed in WordPress in modo da avere il controllo completo sul layout del tuo sito.

Impostare la larghezza massima di oEmbed in WordPress

Perché correggere la larghezza massima degli oEmbed in WordPress?

WordPress supporta oEmbed, che ti consente di incorporare automaticamente contenuti da siti Web di terze parti. Ad esempio, puoi facilmente incorporare video di YouTube, presentazioni SlideShare, tweet e molti altri tipi di contenuti.

Questi contenuti non sono ospitati sul tuo server, quindi non rallenteranno il tuo sito Web. In particolare, dovresti sempre utilizzare tecnologie come oEmbed e non caricare mai un video su WordPress.

Nota: Sebbene Facebook e Instagram supportassero in passato oEmbed, Meta ha da allora interrotto il supporto per oEmbed. Per istruzioni dettagliate su come risolvere questo problema, consulta la nostra guida su come risolvere il problema oEmbed di Facebook e Instagram in WordPress.

WordPress tenterà sempre di adattare la larghezza dei contenuti incorporati in modo che si adattino perfettamente allo spazio disponibile. Tuttavia, a volte il contenuto incorporato potrebbe essere troppo largo e sovrapporsi ad altre aree di contenuto del tuo sito web.

Un embed di WordPress che supera la larghezza del contenuto

Sfortunatamente, non è possibile impostare una larghezza massima per gli embed di terze parti utilizzando gli strumenti integrati di WordPress.

Detto questo, vediamo come puoi aggiungere questa funzionalità mancante e impostare una larghezza massima oEmbed in WordPress. Utilizza semplicemente i collegamenti rapidi qui sotto per passare direttamente al metodo che desideri utilizzare:

Metodo 1: Utilizzo dello Shortcode Embed (Ideale per video di YouTube)

Puoi impostare una larghezza massima utilizzando uno shortcode. Questo metodo è facile, soprattutto se desideri impostare la larghezza massima solo per un piccolo numero di post. Abbiamo anche scoperto che questo metodo funziona bene per incorporare video nei post del blog di WordPress.

Tuttavia, lo shortcode di embed e i suoi parametri di larghezza e altezza non funzionano per tutti i provider oEmbed. Ad esempio, non puoi usarlo per impostare l'altezza e la larghezza di un embed Giphy in WordPress. In tal caso, puoi provare uno degli altri metodi menzionati di seguito.

Invece di incollare l'URL nell'editor dei post, dovrai creare un blocco shortcode. Puoi quindi aggiungere parametri di larghezza e altezza al codice di embed.

Ad esempio, devi semplicemente racchiudere quanto segue nei tag embed:

width="900" height="600"]https://www.youtube.com/watch?v=6LwWumPeues

Cambia semplicemente i valori di larghezza e altezza per adattarli alle tue esigenze e sostituisci l'URL con il contenuto che desideri incorporare.

Larghezza shortcode embed

Quando sei soddisfatto della pagina, fai clic su 'Aggiorna' o 'Pubblica'.

Il contenuto incorporato dovrebbe ora adattarsi perfettamente allo spazio disponibile.

Larghezza oEmbed regolata

Metodo 2: Utilizzo dei Blocchi di Incorporamento integrati di WordPress (Facile)

L'editor a blocchi di WordPress include diversi blocchi di incorporamento per vari servizi oEmbed, come blocchi per Twitter, streaming live di YouTube e video, e incorporamenti SoundCloud.

Blocchi embed in WordPress

Alcuni di questi blocchi ti consentono di modificare l'allineamento dell'incorporamento e impostare il contenuto su 'Larghezza estesa' o 'Larghezza intera'.

Se scegli la larghezza intera, il blocco di incorporamento e il contenuto incorporato occuperanno l'intera larghezza dello schermo. Se scegli la larghezza estesa, il blocco di incorporamento occuperà l'intera larghezza, ma il contenuto rimarrà della stessa dimensione.

Il risultato finale può variare a seconda del tuo tema WordPress. Tuttavia, questo è un metodo rapido e semplice, quindi vale la pena vedere se funziona per il tuo sito web WordPress.

Fai semplicemente clic sul pulsante 'Allinea' nella piccola barra degli strumenti sopra il blocco. Quindi, seleziona 'Larghezza estesa' o 'Larghezza intera'.

Aggiungere l'allineamento a un blocco embed in WordPress

Se questo risolve il problema della larghezza massima per l'incorporamento, puoi procedere e pubblicare la pagina. Se non sei soddisfatto dell'aspetto, dovrai provare un metodo diverso.

Metodo 3: Utilizzo di PHP personalizzato (Imposta una larghezza massima per tutti gli embed)

A volte potresti voler impostare una larghezza massima per tutti i contenuti incorporati. Il modo più semplice per farlo è aggiungere codice personalizzato al tuo sito web WordPress.

Il problema con questo metodo è che l'attributo di larghezza massima funzionerà solo se il contenuto incorporato non ha già una 'larghezza' definita. Se il codice di incorporamento include già il proprio attributo 'width', questo metodo potrebbe non funzionare.

Se non hai mai modificato il codice del tuo sito, dai un'occhiata alla nostra guida su come aggiungere facilmente snippet di codice personalizzati in WordPress.

Alcune guide ti chiedono di modificare manualmente i file del tema, ma questo può causare tutti i tipi di errori e potrebbe persino bloccare completamente il tuo sito web.

Per questo motivo, ti consigliamo di utilizzare WPCode. Rende facile aggiungere snippet di codice in WordPress senza dover modificare i file del tuo tema. In questo modo, puoi aggiornare o cambiare il tuo tema senza perdere tutte le tue funzioni di codice personalizzate.

WPCode viene fornito anche con una libreria di snippet di codice preconfigurati, che include uno snippet 'Imposta larghezza massima oEmbed'. Questo ti permette di specificare una larghezza e un'altezza massime per i tuoi oEmbed.

Innanzitutto, dovrai installare e attivare il plugin gratuito WPCode. Per maggiori informazioni, consulta la nostra guida passo passo su come installare un plugin WordPress.

Dopo l'attivazione, naviga su Snippet di codice » Libreria nel tuo pannello di amministrazione di WordPress.

La libreria di snippet di codice pronti all'uso di WPCode

Qui, puoi cercare 'Imposta larghezza massima oEmbed' e passare il mouse sul risultato con lo stesso nome.

Puoi quindi fare clic su ‘Usa Snippet’.

Il codice oEmbed pronto all'uso, fornito dal plugin di snippet di codice WPCode

WPCode ti porterà quindi alla pagina ‘Modifica Snippet’, dove il plugin ha già configurato tutto per te.

Qui, noterai il seguente snippet di codice pronto all'uso:

function wpcode_snippet_oembed_defaults( $sizes ) {
	return array(
		'width'  => 400,
		'height' => 280,
	);
}

add_filter( 'embed_defaults', 'wpcode_snippet_oembed_defaults' );

Per impostazione predefinita, questo imposta la larghezza massima a '400' e l'altezza massima a '280'. Non dimenticare di regolare gli attributi di altezza e larghezza in base alle tue esigenze.

Infine, fai clic sullo slider 'Inattivo' in modo che mostri 'Attivo'. Quindi fai semplicemente clic sul pulsante 'Salva frammento' o 'Aggiorna' per rendere attivo lo snippet di codice.

Attivazione di uno snippet PHP personalizzato

Metodo 4: Utilizzo di CSS (Imposta la larghezza massima per tipi specifici di embed)

Per impostazione predefinita, WordPress aggiunge automaticamente classi CSS a diverse aree del tuo sito.

Aggiunge anche diverse classi CSS ai blocchi di incorporamento. Puoi utilizzare queste classi CSS per impostare una larghezza massima per gli incorporamenti sul tuo blog WordPress.

Questa è una buona scelta se desideri impostare una dimensione massima per un tipo specifico di incorporamento, come i Tweet incorporati. Ti consente inoltre di creare una dimensione massima per tutti i contenuti incorporati, indipendentemente dal tipo.

Per scoprire quali classi CSS devi indirizzare, incorpora semplicemente contenuti in un post o in una pagina e quindi visualizzali in anteprima nel tuo browser.

Quindi, passa il mouse sopra il contenuto incorporato e fai clic con il pulsante destro del mouse. Nel menu che appare, seleziona lo strumento 'Ispeziona'.

Lo strumento di ispezione di Chrome

Questo apre un nuovo pannello che mostra tutte le classi CSS che WordPress ha aggiunto al contenuto incorporato. Puoi usare queste classi per impostare una larghezza massima per questo tipo di incorporamento.

Per indirizzare un provider oEmbed specifico, userai tipicamente .wp-block-embed-providername, quindi cerca questa classe nel pannello.

Ad esempio, nell'immagine seguente, abbiamo sottolineato la classe .wp-block-embed-providername . Su questa riga, possiamo anche vedere una classe .wp-block-embed-pinterest.

Trovare le classi CSS per i blocchi embed

Puoi impostare una larghezza massima solo per gli incorporamenti Pinterest usando la classe .wp-block-embed-pinterest.

Ad esempio:

.wp-block-embed-pinterest {
    max-width: 900px!important;
}

Sii solo consapevole che potresti dover sostituire .wp-block-embed-pinterest con una classe CSS diversa, a seconda del contenuto che desideri indirizzare.

Se desideri impostare una larghezza massima per tutti gli incorporamenti, puoi utilizzare il seguente snippet:

.wp-block-embed {
    max-width: 900px!important;
}

Il modo più semplice per aggiungere CSS personalizzato al tuo sito web è utilizzare WPCode. Crea semplicemente un nuovo snippet personalizzato seguendo lo stesso processo descritto sopra.

Tuttavia, questa volta apri il menu a discesa 'Tipo di codice' e seleziona 'Snippet CSS'.

Aggiungere uno snippet CSS a WordPress

Ora puoi salvare e pubblicare questo snippet esattamente nello stesso modo in cui rendi live qualsiasi snippet WPCode.

Fatto ciò, WordPress utilizzerà questo valore come dimensione massima per i tuoi incorporamenti.

Suggerimento bonus: Come aggiungere facilmente i tuoi feed dei social media a WordPress

Se incorpori regolarmente contenuti da piattaforme di social media, puoi risparmiare molto tempo e fatica utilizzando Smash Balloon.

Smash Balloon è il miglior plugin per i social media per WordPress e ti consente di aggiungere facilmente i tuoi feed dei social media a un sito WordPress.

Un esempio di post di social media incorporato, creato utilizzando Smash Balloon

Supporta tutti i popolari embed dei social media, inclusi YouTube, Twitter, Instagram e video TikTok.

Ancora più importante, Smash Balloon è responsive per dispositivi mobili e funziona con qualsiasi tema WordPress, quindi i tuoi contenuti incorporati avranno sempre un bell'aspetto.

Un esempio di timeline di Facebook incorporata, creata utilizzando Smash Balloon

Speriamo che questo articolo ti abbia aiutato a imparare come impostare una larghezza massima oEmbed in WordPress. Potresti anche voler consultare la nostra guida su come incorporare facilmente codice iframe in WordPress, o il nostro confronto esperto dei migliori software di live chat per piccole imprese.

Se ti è piaciuto questo articolo, iscriviti al nostro canale YouTube per tutorial video su WordPress. Puoi anche trovarci su Twitter e Facebook.

Dichiarazione: Il nostro contenuto è supportato dai lettori. Ciò significa che se fai clic su alcuni dei nostri link, potremmo guadagnare una commissione. Vedi come è finanziato WPBeginner, perché è importante e come puoi supportarci. Ecco il nostro processo editoriale.

Il Toolkit WordPress Definitivo

Ottieni l'accesso GRATUITO al nostro toolkit - una raccolta di prodotti e risorse relative a WordPress che ogni professionista dovrebbe avere!

Interazioni del lettore

43 CommentsLeave a Reply

  1. Il problema di questo è che rende anche la larghezza massima delle immagini alla dimensione definita. Cosa posso fare se voglio limitare la larghezza dell'embed nell'editor ma non quella dell'immagine? Grazie

  2. Ciao, per me funziona perfettamente.
    Ma questo influisce sull'intero sito, che ha larghezze diverse poiché ci sono pagine a larghezza intera, con barre laterali o forum, ecc.
    È possibile discriminare questo in modo che influenzi solo le pagine del forum di bbpress?

    Sarà molto utile, grazie!

  3. Per chiunque non riesca a farlo funzionare o se i video di YouTube e altri contenuti iframe non vengono ridimensionati, dovrai aggiungere il seguente codice al tuo style.css

    /* Assicurati che gli embed e gli iframe si adattino ai loro contenitori */
    embed,
    iframe,
    object {
    max-width: 100%;
    }

    Spero che questo aiuti. E Syed, grazie per l'ottimo post!

  4. Non puoi usare iframe, object, embed { max-width: 100%; height:auto;} sì, ottiene la larghezza corretta e rende il video reattivo, ma non risolve l'altezza quando si visualizza nel browser.

    C'è davvero un modo per farlo? Ho provato quasi tutto, anche fitvids non funziona perché stai impostando una larghezza di base in px nelle funzioni, ma quella larghezza viene mostrata sui dispositivi mobili, poi quando provi a correggerla con max-width, l'altezza si sballa anche nel browser...

    Sto pensando a media queries o qualcosa del genere? Uff, sono esausto.

  5. Ciao, grazie per il suggerimento, ma non funziona, ecco cosa ti serve nel tuo file function.php:

    add_filter(’embed_defaults’,’yourthemename_embed_defaults’);
    function yourthemename_embed_defaults($defaults) {
    $defaults[‘width’]=600; // o quello che vuoi
    $defaults[‘height’]=360; // o quello che vuoi
    return $defaults;
    }

    funziona benissimo!
    Saluti,

    • Non sono sicuro che l'altro commentatore se ne sia reso conto, ma il codice ha virgolette ricurve e potrebbe danneggiare un sito. Lo testerò qui per vedere se i wrapper shortcode impediranno la modifica che ha rotto il codice...

      add_filter('embed_defaults','yourthemename_embed_defaults');
  6. Sto cercando di pubblicare un film d'animazione di alta gamma da YouTube sul mio blog WordPress. La parte inferiore del frame viene tagliata nell'anteprima. Una volta cliccata la freccia di riproduzione, questo problema scompare. Ma il regista è giustamente infelice che l'anteprima nel post dia l'impressione di un errore. La regolazione dell'altezza e della larghezza nel codice del post funziona, ma non risolve il problema. Idee?

  7. Ciao,

    Ho usato la tua soluzione per la larghezza e ha funzionato benissimo. Ma come imposto l'altezza ora? È semplicemente la stessa if ( ! isset( $content_width ) ) $content_width = 560; ma con la parola 'width' sostituita dalla parola 'height'? Ho provato ma non ha funzionato....

  8. Ciao,
    c'è un modo per forzare tutti gli iframe del sito ad essere larghi al 100%. non solo youtube
    ho circa 300 iframe e tutti di dimensioni fisse quindi... grazie in anticipo
    Josef

  9. Ciao,
    c'è un modo per forzare tutti gli iframe del sito ad essere larghi al 100%. non solo youtube
    ho circa 300 iframe e tutti di dimensioni fisse quindi...

  10. Ho aggiunto questo codice al mio functions.php ma non ha fatto alcuna differenza, e presumo che sia perché il mio tema non definisce $content_width.

    Vedo il link al codex sulla definizione, ma non sono uno sviluppatore e non ne ho uno a disposizione; come si aggiunge una definizione di $content_width a un tema? Dove va? Grazie!

  11. Questo ha funzionato perfettamente, c'è un modo per forzare e impostare di default il video in qualità HD invece che SD che sembra essere il default anche se nelle mie impostazioni di YouTube l'ho impostato per impostazione predefinita in HD?

  12. Si noti che la variabile $content_width deve essere dichiarata come globale prima che questa correzione funzioni.

  13. WP sembra essere aggiornato da persone che non hanno chiaro la centralità del multimedia su Internet. Perché questa preferenza di base dovrebbe richiedere un intervento sul codice non lo so. WP chiaramente non riusciva a capire quanto fossero larghe le mie colonne. Comunque, ora è tutto risolto. Voi ragazzi siete fantastici.

    • Beh Nigel, c'è di più. Stanno cercando di rendere WordPress più facile da usare per gli "utenti". Nel tempo, WordPress ha aggiunto un'opzione dopo l'altra. Questo diventa davvero terrificante per i nuovi utenti. Ecco perché stanno seguendo la strada delle decisioni piuttosto che delle opzioni. La speranza con questa larghezza massima oEmbed è che ogni designer di temi dovrebbe/vorrà definirla nei propri temi, in modo che l'utente finale non debba preoccuparsene.

      Amministratore

  14. Grazie! Ero un po' perplesso su dove fosse finita l'impostazione di incorporamento dei media!

  15. Ciao
    Grazie per il tuo post.

    Ma non riesco a farlo funzionare, ho scritto l'altro post che hai menzionato nei commenti. Ma ancora non riesco a farlo funzionare, ho messo questo:

    All'inizio del mio functions.php, ma poi tutto il mio sito ha smesso di funzionare. tutto è diventato bianco, ho dovuto modificare il file tramite ftp per farlo funzionare di nuovo.

    Cosa sto facendo di sbagliato?

    Grazie!

    • Sono riuscito in qualche modo a far funzionare la responsività impostando un max-width: 100% sui miei iframe in CSS. Naturalmente l'altezza viene impostata automaticamente a seconda della larghezza del tuo contenuto, ma questo dovrebbe almeno farlo funzionare correttamente senza usare JavaScript aggiuntivo. Fitvid è la strada da percorrere, ma questo ha funzionato per me.

        • Uso questo codice CSS per il design responsivo:

          iframe, object, embed { max-width: 100%; } ( se vuoi puoi aggiungere -> height: auto )

        • Sfortunatamente il CSS di Roman o non funziona su alcuni temi o non funziona con il nuovo lettore multimediale WP 3.6 integrato nel core. L'ho appena provato e niente. Sto cercando di ottenere un tema responsivo che mantenga anche il nuovo lettore WP 3.6 responsivo, ma finora niente da fare. Il tema 2012 sembra gestirlo molto bene, ma non riesco a capire cosa stanno facendo di diverso rispetto al tema con cui sto lavorando.

  16. Sono un principiante di WP e del codice, detto questo non sono sicuro di dove inserire il codice “if ( ! isset( $content_width ) ) $content_width = 600;” Sono andato al file function.php nel mio tema Suffusion e non sono sicuro di dove inserire esattamente questo codice. Ho provato in diversi punti in cui si parlava di allegati video e non funziona. Nel mio caso, i video incorporati sono ora troppo grandi per il mio tema dopo l'aggiornamento a WP 3.5.

  17. È stato rilasciato al momento giusto!!! Anche il nome “Elvin” è così speciale.
    Grazie per il tuo post.

    • Sì, sono totalmente d'accordo con te. Solo i temi codificati male non avranno questo. Ma ce ne sono molti in giro. Un tema che uno dei nostri clienti stava usando aveva quel pezzo mancante. Nel complesso, è un buon tema.

      Amministratore

Lascia una risposta

Grazie per aver scelto di lasciare un commento. Tieni presente che tutti i commenti sono moderati secondo la nostra politica sui commenti, e il tuo indirizzo email NON verrà pubblicato. Si prega di NON utilizzare parole chiave nel campo del nome. Avviamo una conversazione personale e significativa.