IPB

Witaj Gościu ( Zaloguj | Rejestruj )

 
Reply to this topicStart new topic
> problem z wyświetleniem pętli tylko na stronie głównej
nawschod
post 06.2.2010 - 21:13
Post #1


aktywność:
*

Grupa: Bloger
Postów: 13

Nr: 5 810



Witam!

Mam następujący problem ze swoją skórką. Chciałbym, żeby jedna z pętli wyświetlała się tylko na stronie głównej (po kliknięciu na "następne" powinna zniknąć). Udało mi się osiągnąć taki efekt z kawałkiem tekstu (intro), nie mogę jednak poradzić sobie z pętlą, gdyż ta metoda w tym przypadku nie działa. Załączam skrócony fragment skórki. Może ktoś zna rozwiązanie takiego problemu. Będę zobowiązany.


<?php if( is_front_page() && !is_paged() ) { ?>

<div id="intro">Intro</div>

<?php } ?>


<?php if(have_posts()) : ?><?php while(have_posts()) : the_post(); ?>

<!-- Zawartość loop -->

<?php endwhile; ?>



<?php rewind_posts(); ?><?php while(have_posts()) : the_post(); ?>

<!-- Zawartość loop -->

<?php endwhile; ?>
Go to the top of the page
 
+Quote Post
amistad18
post 07.2.2010 - 02:01
Post #2


aktywność:
********

Grupa: Redakcja
Postów: 2 471

Nr: 5 919



Domyślam się że edytujesz plik index.php? W takim razie co za problem?

KOD
<?php if( is_front_page() {  ?>
<?php if(have_posts()) : ?><?php while(have_posts()) : the_post(); ?>


<?php endwhile; ?>
<?php } ?>

<?php else { ?>
<?php if(have_posts()) : ?><?php while(have_posts()) : the_post(); ?>

<?php endwhile; ?>
<?php } ?>



Coś takiego - i masz dwie różne pętle dla strony głównej, i dla kolejnych podstron.
Go to the top of the page
 
+Quote Post
nawschod
post 08.2.2010 - 07:55
Post #3


aktywność:
*

Grupa: Bloger
Postów: 13

Nr: 5 810



Dzięki za odpowiedź. A co, jeśli chciałbym, żeby na stronie głównej wyświetlały się obie pętle a na następnych tylko druga?

Pozdrowienia!
Go to the top of the page
 
+Quote Post
amistad18
post 08.2.2010 - 09:47
Post #4


aktywność:
********

Grupa: Redakcja
Postów: 2 471

Nr: 5 919



W takim wypadku drugą pętle wywalasz z else { } ... ot tyle.
Go to the top of the page
 
+Quote Post
nawschod
post 08.2.2010 - 12:58
Post #5


aktywność:
*

Grupa: Bloger
Postów: 13

Nr: 5 810



No i takie rozwiązanie właśnie u mnie nie działa. Na kolejnej stronie wyświetla mi "nothing was found", tak jakby zostały pominięte obie pętle.
Go to the top of the page
 
+Quote Post
amistad18
post 08.2.2010 - 17:20
Post #6


aktywność:
********

Grupa: Redakcja
Postów: 2 471

Nr: 5 919



Pokaż kod Twojego index.php, oraz podaj bloga na którym to nie działa.
Go to the top of the page
 
+Quote Post
nawschod
post 08.2.2010 - 18:54
Post #7


aktywność:
*

Grupa: Bloger
Postów: 13

Nr: 5 810



Witam!

W tej chwili, kiedy zastosowałem Twoje rady (które zresztą wydają się logiczne i nie wiem czemu to nie działa) strona w ogóle nie chce mi się otwierać. Skórka jest w trakcie budowy, załączam fragment, o który pytam:


<div id="container"> <!-- ********** początek container ********** -->

<div id="intro"></div>



<?php if( is_front_page() { ?>


<?php if(have_posts()) : ?><?php while(have_posts()) : the_post(); ?>

<?php $Thumbnail = get_post_meta($post->ID, 'Thumbnail', $single = true); ?> <!-- ********** przechowuje wartość thumbnail ********** -->

<div class="post" id="post-<?php the_ID(); ?>"> <!-- ********** początek post ********** -->

<a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"> <!-- ********** początek thumb ********** -->

<?php if($Thumbnail !== '') { ?> <!-- ********** jeśli jest thumbnail ********** -->

<img src="<?php echo $Thumbnail;?>" alt="<?php the_title(); ?>" class="thumb" />

<?php } ?>

</a> <!-- ********** koniec thumb ********** -->

<?php if($Thumbnail !== '') { ?> <!-- ********** jeśli jest thumbnail ********** -->

<h2 class="h2_thumb"><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h2> <!-- ********** tytuł ********** -->

<?php } ?>

<?php if($Thumbnail == '') { ?> <!-- ********** jeśli nie ma thumbnail ********** -->

<h2><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h2> <!-- ********** tytuł ********** -->

<?php } ?>

<div class="entry"> <!-- ********** początek entry ********** -->

<?php the_content(); ?>

<p class="postmetadata">
<?php _e('Kategoria:'); ?> <?php the_category(', ') ?>&nbsp;
<?php comments_popup_link('Brak komentarzy »', '1 komentarz »', '% komentarze/y »'); ?> <?php edit_post_link('Edytuj', ' | ', ''); ?>
</p>

</div> <!-- ********** koniec entry ********** -->

</div> <!-- ********** koniec post ********** -->

<?php endwhile; ?>



<?php } ?>





<?php while(have_posts()) : the_post(); ?>

<?php $Thumbnail = get_post_meta($post->ID, 'Thumbnail', $single = true); ?> <!-- ********** przechowuje wartość thumbnail ********** -->

<div class="post" id="post-<?php the_ID(); ?>"> <!-- ********** początek post ********** -->

<a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"> <!-- ********** początek thumb ********** -->

<?php if($Thumbnail !== '') { ?> <!-- ********** jeśli jest thumbnail ********** -->

<img src="<?php echo $Thumbnail;?>" alt="<?php the_title(); ?>" class="thumb" />

<?php } ?>

</a> <!-- ********** koniec thumb ********** -->

<?php if($Thumbnail !== '') { ?> <!-- ********** jeśli jest thumbnail ********** -->

<h2 class="h2_thumb"><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h2> <!-- ********** tytuł ********** -->

<?php } ?>

<?php if($Thumbnail == '') { ?> <!-- ********** jeśli nie ma thumbnail ********** -->

<h2><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h2> <!-- ********** tytuł ********** -->

<?php } ?>

<div class="entry"> <!-- ********** początek entry ********** -->

<?php the_content(); ?>

<p class="postmetadata">
<?php _e('Kategoria:'); ?> <?php the_category(', ') ?>&nbsp;
<?php comments_popup_link('Brak komentarzy »', '1 komentarz »', '% komentarze/y »'); ?> <?php edit_post_link('Edytuj', ' | ', ''); ?>
</p>

</div> <!-- ********** koniec entry ********** -->

</div> <!-- ********** koniec post ********** -->

<?php endwhile; ?>







<div class="navigation"> <!-- ********** początek navigation ********** -->

<?php posts_nav_link(); ?>

</div> <!-- ********** koniec navigation ********** -->

<?php else : ?>

<div class="post">

<h2><?php _e('Nic nie znaleziono'); ?></h2>

</div>

<?php endif; ?>

</div> <!-- ********** koniec container ********** -->
Go to the top of the page
 
+Quote Post
amistad18
post 08.2.2010 - 21:29
Post #8


aktywność:
********

Grupa: Redakcja
Postów: 2 471

Nr: 5 919



Wybacz, wprowadziłem Cie w błąd, bez else będą dwie pętle na stronie - a to nie przejdzie.
Zainteresuj się query_posts.

http://codex.wordpress.org/The_Loop#Multiple_Loops
http://codex.wordpress.org/Template_Tags/query_posts
Go to the top of the page
 
+Quote Post
kejsi
post 08.2.2010 - 22:44
Post #9


aktywność:
*******

Grupa: +Bloger
Postów: 740

Nr: 3 286



Może ten i ten link okaże się przydatny
Go to the top of the page
 
+Quote Post
nawschod
post 09.2.2010 - 08:10
Post #10


aktywność:
*

Grupa: Bloger
Postów: 13

Nr: 5 810



Dzięki. Rzucę okiem na linki i będę walczył dalej. smile.gif
Go to the top of the page
 
+Quote Post
nawschod
post 09.2.2010 - 19:14
Post #11


aktywność:
*

Grupa: Bloger
Postów: 13

Nr: 5 810



Pogrzebałem i mam teraz coś takiego, jak poniżej. Póki co ilość postów wyświetla się ok, niestety pojawił się inny problem: na następnej stronie wyświetla się dokładnie ta sama zawartość co na pierwszej. Reszta wpisów gdzieś znikła. (Skracam całość, żeby ni zamącać obrazu.) Ma ktoś jakiś pomysł?



<?php if( is_front_page() && !is_paged() ) { ?>

<div id="intro"></div>

<?php } ?>



<?php query_posts('showposts=1'); ?>



<?php if(have_posts()) : ?><?php while(have_posts()) : the_post(); ?>

loop1

<?php endwhile; ?>






<?php query_posts('showposts=2'); ?>


<?php while(have_posts()) : the_post(); ?>

loop2

<?php endwhile; ?>







<div class="navigation"> <!-- ********** początek navigation ********** -->

<?php posts_nav_link(); ?>

</div> <!-- ********** koniec navigation ********** -->

<?php else : ?>

<div class="post">

<h2><?php _e('Nic nie znaleziono'); ?></h2>

</div>

<?php endif; ?>

</div> <!-- ********** koniec container ********** -->
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



Wersja Lo-Fi Aktualny czas: 2 09 10 - 15:52
WebFan | Forum Komputerowe | Spotkania blogerów