Stai cercando un modo per aggiungere il parametro wmode agli oEmbed? oEmbed trasformerà un URL di YouTube o qualsiasi link simile in un video incorporato senza la necessità di aggiungere alcun HTML. Sebbene probabilmente esista un plugin per questo, abbiamo creato uno snippet di codice rapido che puoi utilizzare per inserire il parametro wmode negli oEmbed in WordPress.
Istruzioni:
Tutto quello che devi fare è aggiungere questo codice al file functions.php del tuo tema o in un plugin specifico per il sito:
add_filter( 'oembed_result', 'slt_wmode_opaque', 10, 3 );
function slt_wmode_opaque( $html, $url, $args ) {
if ( strpos( $html, '<param name="movie"' ) !== false )
$html = preg_replace( '|</param>|', '</param><param name="wmode" value="opaque"></param>', $html, 1 );
if ( strpos( $html, '<embed' ) !== false )
$html = str_replace( '<embed', '<embed wmode="opaque"', $html );
return $html;
}
Siti web supportati: YouTube, Vimeo, DailyMotion, blip.tv, Flickr, Viddler, Hulu, Qik, Revision3, Scribd, Photobucket, PollDaddy, Google Video, WordPress.tv, SmugMug, FunnyOrDie.com
Nota: Se questa è la prima volta che aggiungi snippet di codice in WordPress, consulta la nostra guida su come copiare / incollare correttamente snippet di codice in WordPress, in modo da non rompere accidentalmente il tuo sito.
Se ti è piaciuto questo snippet di codice, prendi in considerazione la possibilità di consultare i nostri altri articoli sul sito come: Come creare un modulo multipagina in WordPress e I 43 migliori temi di fotografia per WordPress.
Scusa per il commento stupido, ma come posso implementarlo?
Passo 1: copia il codice fornito nel mio file functions.php
Passo 2: ¿
Ho seguito il passo 1 ma non funziona nulla
Questa è la prima soluzione che ho trovato a questo problema che funziona (quasi interamente)! Ti ringrazio! Tuttavia, ho ancora lo stesso problema quando carico il mio sito in Chrome (15.0.874.121) per OSX. Firefox funziona benissimo. Safari funziona benissimo. Non ho ancora testato su browser Windows. Sai, c'è qualcosa di specifico in Chrome che causa il mancato funzionamento di questa correzione, e c'è qualche opzione per affrontarla?
Questa funzione non è specifica del browser, poiché viene eseguita sul server. tuttavia intendi che il parametro wmode non funziona in Chrome?
Esatto. Sembra non avere alcun effetto quando visualizzo il mio sito in Chrome. Il menu a discesa appare ancora dietro il video incorporato. Ma ha risolto il problema in Safari e Firefox.
Ah, capisco, ok, affinché il tuo menu funzioni dovrai cambiare il parametro in "transparent" piuttosto che "opaque", questo dovrebbe risolvere le cose. È alla riga 4 e 6.
Hmm... ho provato a cambiarlo in "transparent" ma non ha avuto alcun effetto su Chrome.
Sembra che dovresti anche definire un z-index sull'oggetto flash.
Ok, quindi... sulla questione di definire uno z-index... il problema che ho è che sto cercando di incorporare video di YouTube semplicemente includendo il link di YouTube inline nel post. Se c'è un parametro aggiuntivo che posso aggiungere al link di YouTube per definire lo z-index, non ne sono a conoscenza. Dove mi trovo ora, funziona in tutti i browser che ho testato tranne Chrome (che, purtroppo, rappresenta ora circa il 25% del mio traffico). Ma ho cercato di evitare di tornare a usare il codice di incorporamento per semplicità. Sembra che questo sia il massimo che si possa ottenere senza complicare il processo di pubblicazione per i miei collaboratori.
Non è quello che intendo, il tuo menu a discesa avrà uno z-index definito in modo che il menu venga visualizzato sopra il contenuto. Ho letto una cosa che ho incontrato è che hanno detto di impostare uno z-index per l'oggetto, ad esempio:
object, embed{
position:relative;
z-index:1;
}
assicurati solo che il tuo menu abbia uno z-index più alto se continui ad avere problemi, usa il modulo di contatto e posso inviarti un'email riguardo alle cose piuttosto che usare i commenti.