• Rozwiązano Ddaro

    (@darney)


    Posiadam następująca pętle która wyświetla listę wszystkich filmów w danej kategorii.

    <?php $current_cat=get_the_category();
    $current_category = $current_cat[0]->cat_ID; ?>  
    
    <?php query_posts(array('showposts'=> -1, 'cat'=> $current_category, 'orderby'=> none)); ?>
    <?php while (have_posts()) : the_post(); ?>
    <? $vids = get_post_meta($post->ID, 'skrin', true); ?>
    
    <li class="lista-tematow">   <? if(!empty($vids)) { ?> <div class="clr"></div>
    
    <?}  ?>
    
    <div style="margin-left:5px;float:left; width:450px;"><a href="<?php the_permalink() ?>"><?echo $n++; ?><?echo " ";?><?php the_title() ?>
    <? $excerpt = get_the_excerpt();  ?>
    </a></span></div></li>
    <?php endwhile;?>

    Problem pojawia się kiedy nad nią utworze kolejną pętle. Po utworzeniu kolejnej źle zostają wyświetlane pozostałe kategorie. Na wszystkich kategoriach wyświetlane są wyniki tylko z jednej kategorii.

    $current_category_ad = $current_cat_ad[0]->cat_ID;   
    
    query_posts(array('showposts'=> -1, 'cat'=> $current_category_ad, 'orderby'=> none));
     while (have_posts()) : the_post();    
    
    endwhile;

    Gdzie popełniam błąd w trakcie tworzenia 2 pętli?

Viewing 3 replies - 1 through 3 (of 3 total)
  • Z pośpiechu nawet się temu dokładnie nie przyglądam …ale na pierwszy i ostatni „rzut oka”, to brakuje ci reseta http://codex.wordpress.org/Function_Reference/wp_reset_query

    Jeszcze taka mała uwaga, nie stosuj short tagów <? tylko pełne <?php – inaczej sam sobie tworzysz problemy na przyszłość.

    Twórca wątku Ddaro

    (@darney)

    Brakowało mi zmiennej która dawała numer kategorii ale dobrze wiedzieć o potrzebie reseta.

    Mam jeszcze jedno pytanko bo nie bardzo mogę zrozumieć to w CODEX

    Jeżeli pętla nie znajdzie danego wyniku np. Kategorii to jak zrobić do tego ELSE i wywal błąd 404

    query_posts(array('showposts'=> -1, 'cat'=> $current_category_ad, 'orderby'=> none));
     while (have_posts()) : the_post();    
    
    endwhile;

    Kombinowałem z ifem przed While ale coś nie bardzo jeszcze rozumiem tok myślenia twórców WP w tych pętlach. Czasem to mam ochotę swoje pętle stworzyć.

    W pierwszym z brzegu przykładzie w codexie w artykule o The Loop masz podany kod z if

    <?php if (have_posts()) : ?>
                   <?php while (have_posts()) : the_post(); ?>
                   <!-- do stuff ... -->
                   <?php endwhile; ?>
         <?php endif; ?>

    Tu http://codex.wordpress.org/The_Loop_in_Action#Ending_The_Loop nawet gotowy kod jest :>

Viewing 3 replies - 1 through 3 (of 3 total)
  • Temat ‘Druga pętla rozwala pierwszą. Problem z query’ jest zamknięty na nowe odpowiedzi.