2017-07-04 1 views
0

Ich entwickle eine Galerie, in der ich ein Layout will etwas wie .. http://mightymente.org/projects/aarohievents/design/Galerie Layout durch Beiträge

ich das meiste davon entwickelt .. bitte den Code überprüfen und Anregungen geben, wie es impprove.

Mein Code:

$the_query = new WP_Query("showposts=6&cat=1&orderby=asc"); 
$count = 1; 
while ($the_query ->have_posts()) {$the_query ->the_post(); $i++; 
    $thumb_id = get_post_thumbnail_id(); 
    $thumb_url = wp_get_attachment_image_src($thumb_id,'thumbnail-size',  
    false); 
    list($width, $height) = getimagesize($thumb_url[0]); 
    if($width == 800){ 
     $class='grid-1'; 
    } elseif($width==270) { 
     $class='sub_grid gallery_w3l'; 
    } 
    if ($i == 1){ 
     echo "<div class='col-md-6 col-sm-6 col-xs-12 grid_w3'>"; 
    } 
?> 

    <div class="<?php echo $class; ?>"> 
    <a class="cm-overlay" href="<?php echo $thumb_url[0];?>"> 
    <img src="<?php echo $thumb_url[0];?>" alt=" " class="img-responsive" /> 
    <div class="w3agile-text w3agile-text-small"> 
    <h5><?php the_title(); ?></h5> 
    </div> 
    </a> <?php //echo $i ; ?> 
    </div> 
<?php 
    $count++; 
    if ($i == 3){ 
     echo "</div><div class='col-md-6 col-sm-6 col-xs-12 grid_w3'>";} 
     if ($i == 6){ 
      echo "</div>";$i=0; 
     } 
    } 
    wp_reset_postdata(); 
+0

innerhalb des if ($ i == 3) Sie ein, wenn mit ($ i == 6) verschachtelt ist, diese Code wird niemals ausgeführt. Verschiebe es nach draußen. – Doomenik

+0

Ich habe es nicht verstanden. – varsha

+0

oder besser verwenden Sie die Bedingung 'if ($ i% 3 == 0)' – ravisachaniya

Antwort

0

Dies ist Ihr actuall Code:

if ($i == 3){ 
     //At this position $i has to be 3, if not it will never come to here 
     echo "</div><div class='col-md-6 col-sm-6 col-xs-12 grid_w3'>"; 
     if ($i == 6){ 
      //So this line will never be executed cause $i will never be 6 here 
      echo "</div>";$i=0; 
     } 
    } 

So sollte es sein:

if ($i == 3){ 
     echo "</div><div class='col-md-6 col-sm-6 col-xs-12 grid_w3'>"; 
    } 
    if ($i == 6){ 
     echo "</div>";$i=0; 
    } 

Oder mit Elseif

Basierend auf @ravisachaniya Kommentar Sie können auch gehen für

if ($i % 3 == 0){ 
    //This way it divides $i with 3 and if the levtover is 0 it goes inside 
    //Means 3, 6, 9, 12, 15 and so on 
    echo "</div><div class='col-md-6 col-sm-6 col-xs-12 grid_w3'>"; 
    if ($i == 6){ 
      echo "</div>";$i=0; 
    } 
} 

Mit dieser Lösung wäre es auch in der sechsten Schleife drucken

echo "</div><div class='col-md-6 col-sm-6 col-xs-12 grid_w3'>"; 
Verwandte Themen