Come Sostituire l'Immagine in Evidenza di WordPress con un Video?

2 gen 2017, 13:05:45
Visualizzazioni: 17.6K
Voti: 2

Devo sostituire le immagini in evidenza nelle pagine con un video se determinati post contengono un video di YouTube, Vimeo o altri servizi di hosting video consentiti da WordPress.

Ecco lo pseudo codice che vorrei usare su una pagina personalizzata:

if ( has_post_thumbnail( get_the_ID() {
    if has_video(pseudocodice per verificare se il singolo post contiene un video YouTube)  {
// mostra il player video
    } else {
// mostra l'immagine in evidenza
    }
}

Qualche suggerimento?

4
Commenti

Questo dipende dall'output del tuo tema, puoi sempre creare un campo personalizzato che memorizzi il link del video e incorporarlo se trovato nell'output del tuo tema

Tunji Tunji
2 gen 2017 13:10:05

un consiglio sarebbe di guardare il tuo single.php e vedere dove mostra la miniatura. Dovrai circondare quel codice con un'istruzione if/then che dice se c'è un video (campo personalizzato) allora mostra il video invece dell'immagine. Senza il tuo codice o i tuoi tentativi, non c'è modo di aiutarti ulteriormente.

rudtek rudtek
2 gen 2017 19:56:54

Non sono sicuro di quale sia la domanda qui. Qual è il problema effettivo che incontri mentre provi a codificare la soluzione?

Mark Kaplun Mark Kaplun
2 gen 2017 20:27:36

@MarkKaplun Ho bisogno di sostituire l'immagine in evidenza nelle mie pagine WordPress con un lettore video. O di sovrascrivere automaticamente qualsiasi immagine in evidenza esistente con un lettore video se il singolo post contiene un link a un video di YouTube. Sono abbastanza chiaro ora? Grazie!

Knott Knott
2 gen 2017 20:50:47
Tutte le risposte alla domanda 2
1

Supponiamo per semplicità che tu stia utilizzando ACF. Dopo aver installato ACF, devi creare un campo per il link del video e assegnarlo agli articoli. Poi, nell'articolo in cui vuoi che appaia un video, aggiungi l'URL. Solitamente assegno questo campo come un campo di testo e faccio inserire agli utenti l'ID di YouTube (l'ultima stringa di testo dopo il link youtube.com).

Ad esempio, se il link del video fosse: https://www.youtube.com/J-ek8drxFJA

l'utente inserirebbe solo J-ek8drxFJA nel campo.

Ora aggiungi questo codice alla tua copia di single.php che si trova nella cartella del child theme.

Nota che ho modificato l'istruzione if. Non è necessario cercare la miniatura se intendi utilizzare un video:

if( get_field( 'video_link' ) ) {
    echo 'questo è il mio ID del video ' . get_field( 'video_link' );   // oppure mostra il lettore video (vedi sotto)
} else {
    if( has_post_thumbnail( get_the_ID() ) ){
        // mostra la miniatura dell'articolo
    }

    // nessun video o foto
}

Naturalmente, se vuoi mostrare il video, dovrai fare qualcosa del genere invece:

if( get_field( 'video_link' ) ) {
    $videoid = get_field( 'video_link' );
    echo '<h2>Link del Video</h2><p>guarda il nostro video:</p><iframe width="420" height="315" src="https://www.youtube.com/embed/' . $videoid . '" frameborder="0" allowfullscreen></iframe>';
} else {
    if( has_post_thumbnail( get_the_ID() ) ) {
        // mostra la miniatura dell'articolo
    }
    
    // nessun video o foto
}

  

Ovviamente puoi modificare un po' il codice in base alle tue esigenze.

2 gen 2017 20:53:10
Commenti

Sebbene risposte di qualità di qualsiasi tipo siano accettabili, si prega di notare che le risposte che rimandano l'utente a plugin di terze parti a volte non sono ben accolte. Questo tipo di risposte tende a generare ulteriori domande riguardanti i suddetti plugin di terze parti e tali domande sono considerate Off Topic.

Howdy_McGee Howdy_McGee
2 gen 2017 22:40:08
0

Penso che dovresti provare questo plugin: https://wordpress.org/plugins/featured-video-plus/

Se non ti piace usare plugin aggiuntivi, allora dovresti assolutamente dare un'occhiata al loro codice come riferimento. Puoi esaminare il loro codice e personalizzarlo in base alle tue esigenze.

12 apr 2018 01:42:24