Avatar billede CRavnkilde Nybegynder
18. januar 2012 - 12:15 Der er 6 kommentarer og
1 løsning

PHP programmering Wordpress

Hej!
Jeg har købt et Wordpress theme som på forsiden viser seks serviceområder i form af tekst og billede fordelt på tre kolonner i to rækker.

Se eks. her: http://incon.dk/

Nu er sagen, at jeg gerne vil have at overskriften på de sidste tre billeder, altså nederste række, kommer til at stå under billedet - for at kunne skubbe billederne tættere på de tre øverste for at tydeliggøre "puslespillet".

Koden, der tækker tingene ind på siden står her nedenfor, og det er området med

$tmp_item.='<h5><a href="'.get_permalink().'">'.get_the_title().'</a></h5>';

der skal kigges på.

Nogen, der kan hjælpe med at løse den? Noget med at den tager de første tre med teksten foroven og de efterfølgende tre med teksten forneden...


--- kode start ---
$query['post__in'] = $include_posts;
            unset($query['posts_per_page']);
            unset($query['post_parent']);        
        }
       
        if (array_key_exists('page', $atts) || array_key_exists('id', $atts) ){
            $wp_query_childs =  new WP_Query($query);
            $extra_class = null;
           
            if ($wp_query_childs->post_count > 3){ $extra_class = ' services'; }
           
            $src .= '<ul id="services-overview" class="fixed'.$extra_class.'">';
           
            while ($wp_query_childs->have_posts()) : $wp_query_childs->the_post();       
                $count_row++;
                $count++;
               
                $tmp_item = null;
                if ($count_row==1){ $class_extra='class="first"'; }else{ $class_extra = null; }
                if ($count_row==3){ }
               
                $tmp_item.='<li '.$class_extra.'>';
                    $ewf_page_thumb_id = get_post_thumbnail_id(); 
                   
                   
                    $tmp_item.='<h5><a href="'.get_permalink().'">'.get_the_title().'</a></h5>';
                   
                   
                    if ($ewf_page_thumb_id){
                        $image_url = wp_get_attachment_image_src($ewf_page_thumb_id,'service-thumb'); 
                        $tmp_item.='<div><img src="'.$image_url[0].'" width="180" height="100" alt="'.get_the_title().'" /></div>';
                    }
                   
                    $tmp_item.='<div class="services-overview-overlay"></div>';
                $tmp_item.='</li>';
               
                if ($count == 3){
                    $count = 0;
                    $count_row = 0;
                }
               
                $src .= $tmp_item;
            endwhile;
           
            $src .= '</ul>';
           
            wp_reset_query();
Avatar billede DeeDawg Nybegynder
18. januar 2012 - 13:27 #1
Det er ikke testet, men dette burde give dig dit ønskede resultat:

<?php
    $hor_row_count = 1;
   
    while($wp_query_childs->have_posts()): $wp_query_childs->the_post();
        $count_row++;
        $count++;
       
        $tmp_item = null;
        if($count_row==1){ $class_extra='class="first"'; }else{ $class_extra = null; }
       
        $tmp_item.='<li '.$class_extra.'>';
        $ewf_page_thumb_id = get_post_thumbnail_id();
       
        if($ewf_page_thumb_id){
            $image_url = wp_get_attachment_image_src($ewf_page_thumb_id,'service-thumb');
           
            if(!$calc = $hor_row_count % 2){
                $tmp_item.='<div><img src="'.$image_url[0].'" width="180" height="100" alt="'.get_the_title().'" /></div>';
                $tmp_item.='<h5><a href="'.get_permalink().'">'.get_the_title().'</a></h5>';
            } else {
                $tmp_item.='<h5><a href="'.get_permalink().'">'.get_the_title().'</a></h5>';
                $tmp_item.='<div><img src="'.$image_url[0].'" width="180" height="100" alt="'.get_the_title().'" /></div>';
            }
        } else { $tmp_item.='<h5><a href="'.get_permalink().'">'.get_the_title().'</a></h5>'; }
       
        $tmp_item.='<div class="services-overview-overlay"></div>';
        $tmp_item.='</li>';
       
        if ($count == 3){
            $count = 0;
            $count_row = 0;
        }
       
        $hor_row_count++;
        $src .= $tmp_item;
    endwhile;
?>
Avatar billede CRavnkilde Nybegynder
18. januar 2012 - 13:33 #2
Den prøver jeg lige af. Vender tilbage. Super-flot DeeDwag.
Avatar billede CRavnkilde Nybegynder
19. januar 2012 - 08:52 #3
Hej igen DeeDwag!

Det virker - næsten 100%. Kig her http://incon.dk/ - bemærk at 2. kolonne ikke sidder helt i skabet.

Kan det mon rettes?
Avatar billede DeeDawg Nybegynder
19. januar 2012 - 20:18 #4
Ja, det er mig, som har placeret en enkelt linje forkert. :)

Hvis du ændrer

        if ($count == 3){
            $count = 0;
            $count_row = 0;
        }
       
        $hor_row_count++;
        $src .= $tmp_item;
    endwhile;
?>

til dette

        if ($count == 3){
            $count = 0;
            $count_row = 0;
            $hor_row_count++;
        }
       
        $src .= $tmp_item;
    endwhile;
?>

så skulle den gerne være der. ;)
Avatar billede DeeDawg Nybegynder
19. januar 2012 - 20:19 #5
Og mit nick staves DeeDawg, ikke DeeDwag. Tak. :)
Avatar billede CRavnkilde Nybegynder
19. januar 2012 - 21:10 #6
Fantastisk, det virker 100%. Sorry med navnet. Smid et svar og få pts.
Avatar billede DeeDawg Nybegynder
19. januar 2012 - 21:38 #7
Det er helt i orden. ;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester