web-dev-qa-db-fra.com

Comment remplacer l'image vedette de WordPress par une vidéo?

Je dois remplacer les images en vedette sur les pages par une vidéo si certains messages contiennent une vidéo de YouTube, Vimeo ou d’autres services d’hébergement de vidéos autorisés par WordPress.

Voici le pseudo-code que je souhaite utiliser sur une page personnalisée:

if ( has_post_thumbnail( get_the_ID() {
    if has_video(pseudocode to check whether the single post contains youtube video)  {
// show video player
    } else {
// show post thumbnail
    }
}

Des conseils?

1
Knott

Disons pour simplifier que vous utilisez ACF . Vous devez créer un champ de lien vidéo une fois ACF installé et l’affecter à des publications. Ensuite, dans l'article que vous souhaitez qu'une vidéo apparaisse, ajoutez l'URL. J'assigne généralement ce champ en tant que champ de texte, puis je demande aux utilisateurs de saisir l'identifiant youtube (dernière chaîne de texte après le lien youtube.com.

Par exemple, si le lien vidéo était: https://www.youtube.com/J-ek8drxFJA

l'utilisateur entrerait simplement J-ek8drxFJA dans le champ.

Maintenant, ajoutez ce code à votre copie single.php qui se trouve dans votre dossier de thème enfant

Notez que j'ai changé l'instruction if. Pas besoin de chercher la vignette si vous allez utiliser une vidéo:

if( get_field( 'video_link' ) ) {
    echo 'this is my video link id ' . get_field( 'video_link' );   // or show video player (see below)
} else {
    if( has_post_thumbnail( get_the_ID() {
        // show post thumbnail
    }

    //no video or photo
}

Maintenant, bien sûr, si vous voulez montrer la vidéo, vous voudrez faire quelque chose comme ceci:

if( get_field( 'video_link' ) ) {
    $videoid = get_field( 'video_link' );
    echo '<h2>Video Link</h2><p>see our 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() ) ) {
        // show post thumbnail
    }

    //no video or photo
}

Évidemment, vous pouvez modifier un peu le code pour l'adapter à vos besoins.

1
rudtek

Je pense que vous devriez essayer ce plugin: https://wordpress.org/plugins/featured-video-plus/

Si vous n'aimez pas utiliser de plugin supplémentaire, vous devriez absolument regarder dans leur code pour référence. vous pouvez consulter leur code et le personnaliser selon vos besoins.

1
Milan Bastola