web-dev-qa-db-fra.com

Comment afficher la prochaine image miniature dans WordPress en utilisant l'identifiant actuel

je fais un thème wordpress je fais une structure de grille voir ci-dessous j'ai cette structure de grille

 Grid Structure 

il contient deux lignes et chaque ligne a trois colonnes, je veux montrer mes messages aléatoires wordpress dans cette grille

c'est mon code

               <div class="row">
                     <div class="col-xs-12">
                         <div class="rst-mediagrid">
                                <div class="div">

                                                <?php $args = array(
                                                      'posts_per_page'   => 6,
                                                       'offset'           => 0,
                                                       'category'         => '2',
                                                       'category_name'    => '',
                                                       'orderby'          => 'date',
                                                       'include'          => '',
                                                       'exclude'          => '',
                                                       'meta_key'         => '',
                                                       'meta_value'       => '',
                                                       'post_type'        => 'post',
                                                       'post_mime_type'   => '',
                                                       'post_parent'      => '',
                                                       'author'    => '',
                                                       'post_status'      => 'publish',
                                                       'suppress_filters' => true 
                                                );


                                                global $post;
                                                $post = get_post($args);

                                                $next_post = get_adjacent_post( true, '', false, 'taxonomy_slug' ); 

                                              ?>


                            <div class="rst-col rst-col-50">
                                <div class="rst-postpic">
                                    <?php echo get_the_post_thumbnail($post->ID); //latest post thumbnail ?>
                                </div>
                            </div>
                                                        <?php //endif; ?>

                            <div class="rst-col rst-col-25">
                                <div class="rst-postpic rst-postvideo">

                                    <?php echo get_the_post_thumbnail($next_post->ID); ?>
                                </div>
                            </div>

                            <div class="rst-col rst-col-25">
                                <div class="rst-postpic">
                                    <?php echo get_the_post_thumbnail($next_post->ID); ?>
                                </div>
                            </div>

                            <div class="clear"></div>
                        </div>
                        <div class="div">
                            <div class="rst-col rst-col-25">
                                <div class="rst-postpic">
                                    <?php echo get_the_post_thumbnail($next_post->ID); ?>
                                </div>
                            </div>
                            <div class="rst-col rst-col-25">
                                <div class="rst-postpic rst-postvideo">
                                    <?php echo get_the_post_thumbnail($next_post->ID); ?>
                                </div>
                            </div>
                            <div class="rst-col rst-col-50">
                                <div class="rst-postpic">
                                    <?php echo get_the_post_thumbnail($next_post->ID); ?>
                                </div>
                            </div>
                            <div class="clear"></div>
                        </div>
                    </div>
                </div>
            </div>

le code ci-dessus répète la même image. Je souhaite afficher les vignettes dans un ordre parfait. La première ligne comporte trois colonnes, la première colonne contient la dernière image. La deuxième colonne contient l'image du message précédent et la troisième colonne contient l'image de la moyenne précédente. 3ème message du dernier message. et la deuxième ligne a également les mêmes choses si vous avez meilleure suggestion de bien vouloir me dire

3

Voici la disposition du modèle et le code de votre question initiale. J'utilise wp_get_recent_posts car il me donne les messages récents de la catégorie que vous vouliez, si vous ne changez pas l'ordre en Rand pour les messages aléatoires, car wp_get_recent_posts renvoie les messages par défaut dans un tableau, vous pouvez également choisir de les mélanger.

J'ai vérifié que votre réponse n'était pas cohérente et que les codes étaient trop nombreux lorsque votre premier message utilise rst-postpic et que rst-postinfo et ainsi de suite, au lieu de ce type de message à utiliser ou d'un méta-champ pour déterminer le type de message et, en conséquence, imprimer des informations sur le message .

J'espère que cela vous aide et vous donne une idée d'aller plus loin.

Bonne codage!

<?php
    $args = array(
         'numberposts' =>    6,
         'category'    =>    0,
         'post_status' =>    'publish',
         'orderby'     =>    'post_date',
    );
    $recent_post = wp_get_recent_posts( $args );

    //shuffle( $recent_post );    // Just for randomness
?>
<div class="row">
    <div class="col-xs-12">
        <div class="rst-mediagrid">
            <?php
                 foreach ($recent_post as $key => $value) {
                     $class_col_50    =   $key == 0 || $key == count( $recent_post ) - 1 ? ' rst-col-50' : ' rst-col-25';
                     $class_col_video =   $key % 3 == 1 ? ' rst-postvideo' : '';

                     if ( $key % 3 === 0 )
                         echo '<div class="div">';

                     echo "<div class='rst-col$class'>";
                         echo "<div class='rst-postpic$class_col_video'>";
                             echo  $value['ID'], ' ';
                         echo '</div>';
                     echo '</div>';

                     if ( $key % 3 === 2 )
                         echo '<div class="clear"></div></div>';
                 }
            ?>
        </div>
    </div>
</div>
2
Webloper

enfin j'ai trouvé une solution à ma question si quelqu'un d'autre avait le même problème, alors utilisez ce

<?php 

global $post;

$loop = new WP_Query( array( 'posts_per_page' => 9,'orderby'=>Rand) );
$posts = array();

while ( $loop->have_posts() ) : 

    $items = array();

    $items['link']=wp_get_attachment_url( get_post_thumbnail_id( $post->ID ));
    $items['Image'] = get_the_post_thumbnail($loop->the_post());
    $items['LinkPost']=get_permalink($post->ID);               
    $items['Title']=get_the_title($post->ID);
    $items['PostTime']=get_the_time('M d,Y', $post->ID);

    array_Push($posts, $items);

endwhile;

for($i = 1; $i< count($posts); $i++){
    ?>

    <?php

    if($i==1){
    ?>
        <div class="div">
            <div class="rst-col rst-col-50">
                <div class="rst-postpic">
                    <a href="<?php echo $posts[$i]['LinkPost']; ?>">
                        <img src="<?php echo $posts[$i+1]['link']; ?>" alt="" style="height: 385px;width: 770px"/>
                    </a>
                </div>
                <div class="rst-postinfo">
                    <a href="#"><span>Sport</span></a>
                    <h6><a href="<?php echo $posts[$i]['LinkPost']; ?>"><?php echo $posts[$i]['Title']; ?></a></h6>
                    <time><i class="fa fa-clock-o"></i><?php echo $posts[$i]['PostTime']; ?></time>
                </div>
            </div>
    <?php //endif; ?>

            <div class="rst-col rst-col-25">
                <div class="rst-postpic rst-postvideo">
                    <a href="<?php echo $posts[$i+1]['LinkPost']; ?>">
                        <img src="<?php echo $posts[$i+2]['link']; ?>" alt="" style="height: 385px;width: 770px"/>
                    </a>
                </div>
                <div class="rst-postinfo">
                    <a href="#"><span>Sport</span></a>
                    <h6><a href="<?php echo $posts[$i+1]['LinkPost']; ?>"><?php echo $posts[$i+1]['Title']; ?></a></h6>
                    <time><i class="fa fa-clock-o"></i><?php echo $posts[$i+1]['PostTime']; ?></time>
                </div>
            </div>

            <div class="rst-col rst-col-25">
                <div class="rst-postpic">
                    <a href="<?php echo $posts[$i+2]['LinkPost']; ?>">
                        <img src="<?php echo $posts[$i+3]['link']; ?>" alt="" style="height: 385px;width: 770px"/>
                    </a>
                </div>
                <div class="rst-postinfo">
                    <a href="#"><span>Sport</span></a>
                    <h6><a href="<?php echo $posts[$i+2]['LinkPost']; ?>"><?php echo $posts[$i+2]['Title']; ?></a></h6>
                    <time><i class="fa fa-clock-o"></i><?php echo $posts[$i+2]['PostTime']; ?></time>
                </div>
            </div>

            <div class="clear"></div>

        </div><!-- end first row-->
    <?php } //end if ?>

    <?php
    if ($i == 2 ) {
    ?>

    <div class="div">
        <div class="rst-col rst-col-25">
            <div class="rst-postpic">
                <a href="<?php echo $posts[$i]['LinkPost']; ?>">
                    <img src="<?php echo $posts[$i+1]['link']; ?>" alt="" style="height: 385px;width: 770px"/>
                </a>
            </div>
            <div class="rst-postinfo">
                <a href="#"><span>Sport</span></a>
                <h6><a href="<?php echo $posts[$i]['LinkPost']; ?>"><?php echo $posts[$i]['Title']; ?></a></h6>
                <time><i class="fa fa-clock-o"></i><?php echo $posts[$i]['PostTime']; ?></time>
            </div>
        </div>

        <div class="rst-col rst-col-25">
            <div class="rst-postpic rst-postvideo">
                <a href="<?php echo $posts[$i+1]['LinkPost']; ?>">
                    <img src="<?php echo $posts[$i+2]['link']; ?>" alt="" style="height: 385px;width: 770px"/>
                </a>
            </div>
            <div class="rst-postinfo">
                <a href="#"><span>Sport</span></a>
                <h6><a href="<?php echo $posts[$i+1]['LinkPost']; ?>"><?php echo $posts[$i+1]['Title']; ?></a></h6>
                <time><i class="fa fa-clock-o"></i><?php echo $posts[$i+1]['PostTime']; ?></time>
            </div>
        </div>

        <div class="rst-col rst-col-50">
            <div class="rst-postpic">
                <a href="<?php echo $posts[$i+2]['LinkPost']; ?>">
                    <img src="<?php echo $posts[$i+3]['link']; ?>" alt="" style="height: 385px;width: 770px"/>
                </a>
            </div>
            <div class="rst-postinfo">
                <a href="#"><span>Sport</span></a>
                <h6><a href="<?php echo $posts[$i+2]['LinkPost']; ?>"><?php echo $posts[$i+2]['Title']; ?></a></h6>
                <time><i class="fa fa-clock-o"></i><?php echo $posts[$i+2]['PostTime']; ?></time>
            </div>
        </div>

        <div class="clear"></div>

    </div><!--end second row-->
    <?php

    }//end if

}//end for loop ?>

si certains ont une meilleure suggestion de bien vouloir poster vous répondez ici et aussi toute question logique dans mon code alors dites-moi aussi

0