Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di gabar-el
    Registrato dal
    Jun 2006
    Messaggi
    2,222

    Ciclo while che crea loop infinito e non funziona

    Ciao,
    sto implementando questo codice in una pagina di template di wordpress:
    Codice PHP:
        <?php
        query_posts
    ('showposts=10&cat=7');
        while (
    have_posts()) : the_post();
        
    ?>

        <li class="img-slider">
            <?php the_content(); ?>
        
        <?php endwhile; ?>
    Quando osservo la pagina non vedo alcun risultato e noto che la barra di scorrimento del browser si rimpicciolisce sempre, facendomi intuire che il loop che viene generato è infinito.
    Dove sto sbagliando?

    Grazie.
    Si fanno sempre nuove scoperte

  2. #2
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    primo errore : stai usando wordpress.
    (personalmente lo odio e penso che il web sarebbe un posto migliore senza wp)

    seconda cosa thepost stampa il post corrente non mi pare ti serva altro
    procedi per steps :
    Codice PHP:
    <?php
        
    // a che ti serve ?
        
    query_posts('showposts=10&cat=7');
        
        
    // se usi poi questo ? 
        
    while (have_posts()) : the_post();
        
    ?>

        <li class="img-slider">
            <?php the_content(); ?>
        
        <?php endwhile; ?>

    step 1 : prova a caricare il post direttamente cosi'
    Codice PHP:

        <?php
        query_posts
    ('showposts=10&cat=7');
        
    the_post();
        
    ?>
    step2 : vedremo dopo il test sullo step 1

  3. #3
    Non conosco wordpress a livello di programmazione, ma spulciando in rete QUI il codice sembra corretto.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  4. #4
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Buona guida

    una soluzione ivi proposta :

    Codice PHP:
    <?php
    // retrieve one post with an ID of 5
    query_posts'p=5' );

    // set $more to 0 in order to only get the first part of the post
    global $more;
    $more 0;

    // the Loop
    while (have_posts()) : the_post();
        
    the_content'Read the full post »' );
    endwhile;
    ?>
    P.S.
    Che schifo che e' wp piu' lo guardo meno mi piace ... e dopo averci fatto sopra 3 siti sto vomitando bits; e ogni volta che vedo come gestisce le cose =>

    EDIT :
    diomio usano le globals !!! FOLLIA l'uso delle globals è già stato deprecato ... e tra poco non ci sarà più ... diomio che schifo wp !!
    Usate un buon framework piuttosto !

  5. #5
    Utente di HTML.it L'avatar di gabar-el
    Registrato dal
    Jun 2006
    Messaggi
    2,222
    @Virus_101
    grazie dei suggerimenti
    <?php
    // a che ti serve ?
    query_posts('showposts=10&cat=7');

    // se usi poi questo ?
    while (have_posts()) : the_post();
    ?>

    <li class="img-slider">
    <?php the_content(); ?>

    <?php endwhile; ?>
    Devo prelevare i post di una determinata categoria.
    Devo ciclare i post all'interno di li classati in quel modo per poterli formattare correttamente.

    Il tuo primo suggerimento ottiene un effetto uguale al codice quì sopra (loop infinito).
    Il secondo ottiene sempre un loop infinito, ma almeno pubblica i post.

    ps: mi pare di capire che non ti piace wordpress :-D

    @satifal grazie del link
    Si fanno sempre nuove scoperte

  6. #6
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    uhm se il ptimo genera loop infinto vuol dire che hai delle categorie in loop. O dei post con looping.

    Ricontrolla come hai collegato il tutto e nel caso i parametri per la query.

    Almeno e' un'idea. Lo step 1 e' la cosa piu' semplice per scorrere i post e se anche quella non va vuol dire che c'e' qualche problema nei tuoi post / categorie .

    P.S.
    Esatto, hai capito perfettamente => odio wp in ogni suo aspetto

  7. #7
    Prova a modificare la query così:

    Codice PHP:
    query_posts($query_string.'&cat=7&showposts=10'); 
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  8. #8
    ...o anche così:

    Codice PHP:
    query_posts('cat=7&posts_per_page=10'); 
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  9. #9
    Utente di HTML.it L'avatar di gabar-el
    Registrato dal
    Jun 2006
    Messaggi
    2,222
    Sì, effettivamente il tutto era dentro un altro ciclo while. Eliminandolo non va più in loop, ma non ottengo risultati :-(

    @satifal nemmeno così ottengo risultati.
    E' davvero strano. Uso lo stesso codice su tanti altri siti e ovviamente è funzionante.

    L'unica differenza è che quì i post sono dentro a un div che viene lavorato da js (slider flexslider).
    Se lascio il codice statico funziona tutto. Ma se cerco di inserire codice dinamico in modo che le slide siano gestite da backend tramite post non ottengo risultati.
    Si fanno sempre nuove scoperte

  10. #10
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    ecco il problema delle globals che simulano enclosures e ti fanno esplodere il codice !!
    (dannato wp)

    cmq parti stampando un semplice post lòa guida che ti ha dato satifal e' ottima davvero e ti spiega bene come fare.

    Imposta la visualizzazione di 1 post e vediamo se va, non va e perche' etc.. ma devi fare 1 test e postare codice e risultato altrimenti non si puo' capire.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.