• User

    Loop duplica contenuto del post

    Ciao a tutti.

    Ho un problema che spero si possa risolvere.

    Premetto che non sono un programmatore e che quindi basta poco per terrorizzarmi 🙂

    Nel mio sito ho l'esigenza in homepage di mostrare in evidenza determinati post di determinate categorie.

    ho creato quindi una loop in php che poi ho richiamato all'interno della pagina inserendo lo snippet di Php Code.

    Fin qui tutto bene. Php Code funziona correttamente, la pagina prende lo snippet... però il corpo testo della pagina che richiamo mi viene duplicato.

    Ho creato una pagina di test per farvi capire:

    viaggiareslow.it/__prova-home

    Gli snippet che inserisco sono questi:
    [php snippet=3][php snippet=4]

    Il primo richiama una pagina inserita nella categoria -diciamo- A, pagina senza contenuto testuale,
    e la seconda una pagina appartenente ad una categoria B.

    Mentre il piccolo codice scritto nell'editor di Php-Code è questo (spero non sia troppo lungo e di non disubbidire alle regole del forum già al mio primo 3D)

    
    <?php
    query_posts( 'cat=38&showposts=1' );
    if (have_posts()) : ?>
    <div class="BannerHome"> // definisco un div per la formattazione
    <h1>Eventi</h1>
    <!-- START LOOP -->
    <?php
    
    // set $more to 0 in order to only get the first part of the post
    global $more;
    $more = 0;
    while (have_posts()) : the_post(); ?>
    
    <!-- BEGIN POST -->
    <div <?php post_class();?>>
    
    ">
    <?php
    // immagine in evidenza
    if ( has_post_thumbnail() ) {
    the_post_thumbnail(array(640,250));
    }
    ?>
    
    <?php the_content(); ?> // inietto il contenuto testuale del post richiamato
    
    </div>
    <!-- END POST -->
    
    <?php endwhile; ?>
    <!-- END LOOP -->
    
    </div>
    <?php endif; ?>
    
    

    Non so come venirne a capo.
    Praticamente il sistema mi inietta sì il testo all'interno del div che ho definito per lo scopo,
    ma me lo re-inietta subito dopo e al di fuori adirittura del div genitore di tutto il blocco (<div class="BannerHome">).

    Forse può essere utile sapere che ho installato un tema Pro, Goodspace sviluppato da Goodlayers... ma non credo che questo influenzi la cosa... credo

    Vi chiedo cortesemente aiuto.
    Grazie a tutti
    Ciao

    Fuzz


  • User Attivo

    Ciao Fuzz,

    sinceramente non riesco a capire bene il tuo problema perché gli snippet in php code non ho ben capito cosa sono, comunque quando si lavora con diversi loop è sempre una buona norma creare una chiamata a una delle seguenti funzioni:

    • wp_reset_postdata()
    • wp_reset_query()
    • rewind_posts()

    A seconda del tipo di ciclo che hai creato, se hai semplicemente copiato il loop principale non te lo consiglio, dovrai chiamare una di queste funzioni.

    Se vuoi avere una visione di una prova sul campo, puoi consultare questo articolo che ho scritto un pò di tempo fa http://wpandmore.info/wordpress-frontpage/, all'interno troverai la spiegazione e il video che ti guiderà passo passo alla creazione di tre diversi loop da mostrare all'interno della stessa pagina.

    Spero possa esserti utile.


  • User

    Ciao Grazie della risposta

    php code permette di inserire codice php all'interno dei post (o delle pagine),
    è molto pratico.
    Tu scrivi un codice e poi lo richiami dove credi attraverso l'uso degli snippets.

    Non ho ben capito i tuoi suggerimenti... cmq adesso provo a comprenderli...


  • User

    rettifico

    funziona grazie!!!!

    ho chiuso con

    <?php endif;
    wp_reset_query(); ?>

    così ho risolto

    grazie 1000!