Répétition d’une même vidéo Youtube dans chaque post (Créer un compte)

  • WordPress :5.8
  • Statut : non résolu
6 sujets de 1 à 6 (sur un total de 6)
  • Auteur
    Messages
  • #2387054
    Olilaval
    Participant
    Initié WordPress
    4 contributions

    Bonjour à tous,

    Ma configuration WP actuelle

    • Version de PHP/MySQL : PHP 7.4
    • Thème utilisé : Créé par moi-même
    • Extensions en place : ContactForm 7, Event List, MP3 music player by sonaar, WP Maintenance Mode
    • Nom de l’hébergeur : OVH
    • Adresse du site : superska.be

    Problème(s) rencontré(s) :

    Je viens de créer un site pour un groupe de musique en réutilisant un code qui a fait ses preuves sur plusieurs autres sites toujours en fonction. Mais un problème étrange est apparu sur celui-ci :

    Dans une boucle qui génère des articles de la catégorie “vidéo” (chaque article possède une vidéo différente intégrée via l’intégrateur de WordPress) la même vidéo (la dernière publiée) s’affiche dans chacun des articles. Pourtant, le titre et l’ID de ces articles correspondent bien à chaque fois, mais seul la vidéo (la dernière publiée) remplace systématiquement celle de l’article, et ce parfois après une ou deux secondes.

    Voici le code complet de la boucle (j’utilise un framework de Bootstrap avec des modal boxes) :

    <?php 
                            $args = array(
                                'category_name' => 'videos',
                                'posts_per_page'=>6
                            );
                            
                            $wp_query = new WP_Query($args);
                            
                            if ( $wp_query->have_posts() ) :
                            while ( $wp_query->have_posts() ) : $wp_query->the_post(); ?>
                
                                <article class="col-md-4 col-sm-12 text-center">
                                    <div class="sixteen-nine" style="background-image: url(<?php the_post_thumbnail_url(); ?>)">
                                        <div class="see-more" data-bs-toggle="modal" data-bs-target="#modal<?php the_ID(); ?>">
                                            <div>
                                                <div class="menu-center">
                                                    <i class="fi-play"></i>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                    <button type="button" class="button" data-bs-toggle="modal" data-bs-target="#modal<?php the_ID(); ?>"><?php the_title(); ?></button>
                                </article>
            
                                <!-- **** MODAL BOXE **** -->
                                <div id="modal<?php the_ID(); ?>" class="modal fade" role="dialog" aria-hidden="true">
                                    <div class="modal-dialog modal-xl">
                                        <div class="modal-content">
                                            <div class="modal-header">
                                                <h3 class="modal-title"><?php the_title(); ?></h3>
                                                <button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal" aria-label="Close"></button>
                                            </div>
                                            <div class="modal-body">
                                                <?php the_content(); ?>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                                
                            <?php endwhile; ?>
                                <!-- end of the loop -->
    
                                <!-- pagination here -->
    
                                <?php wp_reset_postdata(); ?>
    
                            <?php else : ?>
                                <p><?php _e( 'Sorry, no posts matched your criteria.' ); ?></p>
                            <?php endif; ?>

    J’ai testé en ajoutant une ligne de paragraphe en-dessous d’une des vidéos (pas la dernière publiée donc) et il se trouve que malgré que la vidéo soit remplacée dans l’article, la ligne de paragraphe s’affiche correctement, ce qui semble indiquer que le problème ne vient pas de la boucle mais plutôt de l’intégrateur Youtube.

    Est-ce que cela pourrait être lié à un.e ancien.ne extension/thème aujourd’hui supprimé.e ? J’ai remplacé par mon thème “fais maison” un ancien thème qui fonctionnait avec un builder et “géré” par un autre webdesigner.

    Bref ! J’espère que quelqu’un pourra m’aider car je désespère de trouver une solution. Merci d’avance.

    #2387075
    mathieu42
    Participant
    Maître WordPress
    881 contributions

    dans ce code, la vidéo est ajoutée dans le contenu généré par “the_content()” ?

    #2387078
    Olilaval
    Participant
    Initié WordPress
    4 contributions

    Exactement. Dans le backoffice, l’article ne contient que la vidéo Youtube embarquée, un titre et une image mise en avant.

    • Cette réponse a été modifiée le il y a 5 heures et 28 minutes par Olilaval.
    #2387089
    mathieu42
    Participant
    Maître WordPress
    881 contributions

    je viens de voir la page où vous avez le souci :

    .http://superska.be/videos/

    en regardant le code source j’ai l’impression que les données sont bien présentes donc il faut peut-être regarder dans la documentation du framework s’il y a une configuration spéciale à faire.

     

    petite parenthèse, j’ai vu qu’il y a plusieurs adresses e-mail dans la page. je vous déconseille de les laisser sinon vous risquez de recevoir beaucoup de spam.

    #2387090
    Olilaval
    Participant
    Initié WordPress
    4 contributions

    Le soucis, c’est que de base les iframe contiennent les bons URL, mais après en avoir ouvert un ils se remplacent tous par la dernière vidéo en ligne dès ouverture des modal boxes.

    Étant donné que le même framework avec la même boucle fonctionne sur d’autres sites que j’ai créé, je me dis que le problème vient peut-être de la base de donnée (à laquelle j’attends d’avoir accès pour inspection) qui contiendrait des résidus de l’ancien thème. Par exemple, j’ai aussi une ancienne catégorie impossible à supprimer depuis le backoffice …

    Pour les adresses emails, c’est un souhait du client auquel je me suis plié (comme d’autres petits détails).

    #2387092
    Olilaval
    Participant
    Initié WordPress
    4 contributions

    Bon, j’ai trouvé la source du problème … ENFIN ! Pour ceux à qui ça arriverait, voici l’origine du soucis :

    En cherchant un moyen de stopper la lecture de la vidéo à la fermeture de la modal box, j’avais trouvé en ligne et ajouté cette ligne de script :

    $(".modal").on('hidden.bs.modal', function (e) {
           $(".modal iframe").attr("src", $(".modal iframe").attr("src"));
    });

    À ne surtout pas faire donc, car si la lecture de la vidéo stoppe bel et bien lors de la fermeture de la modal box, cela engendre également le soucis mentionné au départ.

    Merci néanmoins pour les réponses 😉

6 sujets de 1 à 6 (sur un total de 6)
  • Vous devez être connecté pour répondre à ce sujet.