wordpress while
#1
Posted 08 March 2018 - 10:02
rezultatul codului
<?php if ( $custom_posts_query->have_posts() && $custom__posts_count >= 3 ) { ?> <div class="posts"> <?php while ( $custom_posts_query->have_posts() ) { $custom_posts_query->the_post(); ?> <article <?php post_class(); ?>> <!--title, date, content, etc --> </article> <?php } ?> </div><!-- .posts --> <?php wp_reset_postdata(); } e urmatorul <article class="post-1"> <!--title, date, content, etc --> </article> <article class="post-2"> <!--title, date, content, etc --> </article> <article class="post-3"> <!--title, date, content, etc --> </article> dar eu vreau sa incadrez primul articol intr-un div, iar pe celelalte in alt div. asa: <div class="prima"> <article class="post-1"> <!--title, date, content, etc --> </article> </div><!-- .prima --> <div class="restul"> <article class="post-2"> <!--title, date, content, etc --> </article> <article class="post-3"> <!--title, date, content, etc --> </article> </div><!-- .restul --> sau macar toate postarile, cu exceptia primei, sa fie incadrate intr-un div <article class="post-1"> <!--title, date, content, etc --> </article> <div class="restul"> <article class="post-2"> <!--title, date, content, etc --> </article> <article class="post-3"> <!--title, date, content, etc --> </article> </div><!-- .restul --> am tot incercat dar nu reusesc sa imi dau seama cum Edited by zperu, 08 March 2018 - 10:02. |
#2
Posted 08 March 2018 - 10:35
Poti folosi un contor, initial e 0, il incrementezi de la bun inceput si faci codul in functie de el.
Edited by tigerheart, 08 March 2018 - 10:37. |
#3
Posted 08 March 2018 - 10:56
tigerheart, on 08 martie 2018 - 10:35, said:
Poti folosi un contor, initial e 0, il incrementezi de la bun inceput si faci codul in functie de el. <?php $counter = 1; if ( $custom_posts_query->have_posts() && $custom__posts_count >= 3 ) { ?> <div class="posts"> <?php while ( $custom_posts_query->have_posts() ) { $custom_posts_query->the_post(); ?> <div class="<?php echo $counter; ?>"> <article <?php post_class(); ?>> <!--title, date, content, etc --> </article> </div> $counter++; <?php } ?> </div><!-- .posts --> <?php wp_reset_postdata(); } Edited by Kriogen, 08 March 2018 - 10:57. |
#4
Posted 08 March 2018 - 10:58
Pentru ce iti trebuie div-ul?
Ce anume vrei sa implementezi? Vrei sa le dai stiluri diferite? daca da, poti face asta direct din css folosind post-ID. Presupun ca vrei pentru un site static, de prezentare. |
#5
Posted 08 March 2018 - 11:06
Kriogen, on 08 martie 2018 - 10:56, said:
Adica ceva de genul: <?php $counter = 1; if ( $custom_posts_query->have_posts() && $custom__posts_count >= 3 ) { ?> <div class="posts"> <?php while ( $custom_posts_query->have_posts() ) { $custom_posts_query->the_post(); ?> <div class="<?php echo $counter; ?>"> <article <?php post_class(); ?>> <!--title, date, content, etc --> </article> </div> $counter++; <?php } ?> </div><!-- .posts --> <?php wp_reset_postdata(); } lexis1, on 08 martie 2018 - 10:58, said:
Pentru ce iti trebuie div-ul? Ce anume vrei sa implementezi? Vrei sa le dai stiluri diferite? daca da, poti face asta direct din css folosind post-ID. Presupun ca vrei pentru un site static, de prezentare. si nu vreau sa folosesc float tigerheart, on 08 martie 2018 - 10:35, said:
Poti folosi un contor, initial e 0, il incrementezi de la bun inceput si faci codul in functie de el. o singura problema, habar n-am cum se face asta |
#6
Posted 08 March 2018 - 11:41
Arunca un ochi peste asta: https://wordpress.st.../a/101098/51967 si porneste de la acest cod.
|
#7
Posted 08 March 2018 - 12:18
$counter = 0; while(...) { if($counter === 0) { //this is the first run of the loop } else { //these are follow-up runs of the loop } $counter++; } Problema nu are de-a face cu wordpress, ci cu logica si cu programare bruta. Invata mai intai programare ca lumea, apoi treci la wordpress. |
#8
Posted 08 March 2018 - 14:29
OriginalCopy, on 08 martie 2018 - 12:18, said: $counter = 0; while(...) { if($counter === 0) { //this is the first run of the loop } else { //these are follow-up runs of the loop } $counter++; } Problema nu are de-a face cu wordpress, ci cu logica si cu programare bruta. Invata mai intai programare ca lumea, apoi treci la wordpress. eu vreau ca articolul din the "first run" sa fie incadrat intr-un div iar articolele din "follow-up runs" sa fie incadrate in alt div tigerheart, on 08 martie 2018 - 11:41, said:
Arunca un ochi peste asta: https://wordpress.st.../a/101098/51967 si porneste de la acest cod. |
#9
Posted 08 March 2018 - 14:32
Nu am stat sa citesc codul , sunt pe telefon.Am o intrebare.De ce nu vrei sa folosesti float?Ok, am inteles de ce nu vrei float.
Citeste si https://www.w3school...l_nth-child.asp Poate te ajuta, doar pt primul articol sau selectiv. Edited by ionutz_joe2009, 08 March 2018 - 14:40. |
#10
Posted 08 March 2018 - 14:41
zperu, on 08 martie 2018 - 14:29, said:
exact ce i-am zis lui OriginalCopy Uite cum ar trebui sa arate dupa ideea mea: contor = 0; incepi acel while... contor++ daca acel contor = 1 (adica e primul articol) echo '<div class="prima">'; afisezi aici primul articol, ce te intereseaza de la el echo '</div><!-- .prima -->'; daca acel contor = 2 (adica e al doilea articol) echo '<div class="restul">'; afisezi aici articolul 2, ce te intereseaza de la el daca acel contor >2 afisezi ce te intereseaza de la articolul x, x+1 si pana se inchide acel while dupa ce se executa while sa nu uiti sa pui un echo '</div>'; - ca sa inchizi partea cu <div class="restul">. Acum baga asta in cod si sa vezi ca merge. |
|
#11
Posted 08 March 2018 - 14:58
tigerheart, on 08 martie 2018 - 14:41, said:
Asa... si e greu sa te folosesti de acel contor? Uite cum ar trebui sa arate dupa ideea mea: contor = 0; incepi acel while... contor++ daca acel contor = 1 (adica e primul articol) echo '<div class="prima">'; afisezi aici primul articol, ce te intereseaza de la el echo '</div><!-- .prima -->'; daca acel contor = 2 (adica e al doilea articol) echo '<div class="restul">'; afisezi aici articolul 2, ce te intereseaza de la el daca acel contor >2 afisezi ce te intereseaza de la articolul x, x+1 si pana se inchide acel while dupa ce se executa while sa nu uiti sa pui un echo '</div>'; - ca sa inchizi partea cu <div class="restul">. Acum baga asta in cod si sa vezi ca merge. nu imi dau seama cum ar fi asta diferit fata de ce am incercat pana acum scrie tu aia in cod, poate am gresit eu ceva ionutz_joe2009, on 08 martie 2018 - 14:32, said:
Nu am stat sa citesc codul , sunt pe telefon.Am o intrebare.De ce nu vrei sa folosesti float?Ok, am inteles de ce nu vrei float. Citeste si https://www.w3school...l_nth-child.asp Poate te ajuta, doar pt primul articol sau selectiv. |
#12
Posted 08 March 2018 - 15:01
Fa codul dupa indicatiile mele si daca nu merge atunci posteaza-l aici si te ajut mai departe. Asta daca vrei si sa inveti din greseli, nu numai sa faci copy paste.
|
#13
Posted 08 March 2018 - 15:21
tigerheart, on 08 martie 2018 - 15:01, said:
Fa codul dupa indicatiile mele si daca nu merge atunci posteaza-l aici si te ajut mai departe. Asta daca vrei si sa inveti din greseli, nu numai sa faci copy paste. <?php $counter = 0; ?> <?php while ( $posts_query->have_posts() ) { $posts_query->the_post(); ?> <?php if($counter === 1) { ?> <div class="prima"> <?php the_title( '<h1 class="entry-title"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h1>' ); ?> </div><!-- .prima --> <?php } elseif($counter === 2) { ?> <div class="restul"> <?php the_title( '<h2 class="entry-title"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h2>' ); ?> <?php } else { ?> <?php the_title( '<h3 class="entry-title"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h3>' ); ?> <?php } ?> <?php $counter++; ?> <?php } ?> </div><!-- .restul --> Edited by zperu, 08 March 2018 - 15:28. |
#14
Posted 08 March 2018 - 16:19
#15
Posted 08 March 2018 - 17:23
Nu ai facut chiar tot cum am zis eu... Dar hai fi sincer, ai testat macar codul tau?
Am luat codul tau, l-am modificat si uite ce frumos da: [ https://s14.postimg.org/5amewepkx/screenshot_737.png - Pentru incarcare in pagina (embed) Click aici ] Uite si codul folosit: <?php if ( have_posts() ) : ?> <?php $counter = 0; ?> <?php while ( have_posts() ) : the_post(); ?> <?php $counter++; ?> <?php if($counter === 1) { ?> <div class="prima"> <?php the_title( '<h1 class="entry-title"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h1>' ); ?> </div><!-- .prima --> <?php } elseif($counter === 2) { ?> <div class="restul"> <?php the_title( '<h2 class="entry-title"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h2>' ); ?> <?php } else { ?> <?php the_title( '<h3 class="entry-title"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h3>' ); ?> <?php } ?> <?php endwhile; ?> </div><!-- .restul --> <?php endif; ?> Edited by tigerheart, 08 March 2018 - 17:24. |
|
#16
Posted 08 March 2018 - 19:12
tigerheart, on 08 martie 2018 - 17:23, said:
Nu ai facut chiar tot cum am zis eu... Dar hai fi sincer, ai testat macar codul tau? Am luat codul tau, l-am modificat si uite ce frumos da: [ https://s14.postimg.org/5amewepkx/screenshot_737.png - Pentru incarcare in pagina (embed) Click aici ] Uite si codul folosit: <?php if ( have_posts() ) : ?> <?php $counter = 0; ?> <?php while ( have_posts() ) : the_post(); ?> <?php $counter++; ?> <?php if($counter === 1) { ?> <div class="prima"> <?php the_title( '<h1 class="entry-title"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h1>' ); ?> </div><!-- .prima --> <?php } elseif($counter === 2) { ?> <div class="restul"> <?php the_title( '<h2 class="entry-title"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h2>' ); ?> <?php } else { ?> <?php the_title( '<h3 class="entry-title"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h3>' ); ?> <?php } ?> <?php endwhile; ?> </div><!-- .restul --> <?php endif; ?> acum am vazut... tigerheart, on 08 martie 2018 - 14:41, said:
Asa... si e greu sa te folosesti de acel contor? Uite cum ar trebui sa arate dupa ideea mea: contor = 0; incepi acel while... contor++ daca acel contor = 1 (adica e primul articol) echo '<div class="prima">'; merci. ai idee cum se poate verifica daca un anumit widget e plasat intr-un sidebar (in afara widgetului) ? |
#18
Posted 08 March 2018 - 22:24
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users