• User

    WP_Query, paged e offset

    Salve a tutti, ho un problema con un sito in wordpress, sto utilizzanso page numbers per la navigazione del sito, questo sito è diviso in due, una parte alta con delle news visulizzate in grande, e una parte bassa con news visualizzate in piccolo. Per quanto riguarda la parte alta la paginazione funziona perfettamente con questo codice:

    [PHP]<?php query_posts('paged='.$paged);
    $temp = $wp_query;
    $wp_query= null;
    $wp_query = new WP_Query();
    $wp_query->query('showposts=3'.'&paged='.$paged);
    ?>[/PHP]

    Ora per la parte bassa ho utilizzato questo:

    [PHP]<?php query_posts('paged='.$paged);
    $temp = $wp_query;
    $wp_query= null;
    $wp_query = new WP_Query();
    $wp_query->query('showposts=3'.'&offset=3'.'&paged='.$paged);
    ?>[/PHP]

    Solo che anche cambiando pagina mi visualizza sempre gli stessi articoli.

    Vi prego è molto urgente!


  • User Attivo

    Sinceramente non saprei risolvere il problema, se vuoi posso darti un'alternativa usando una funzione tipo pagenavi ma senza plugin.

    Inserisci questo codice in functions.php:

    function pagenavi( $p = 2 ) { // pages will be show before and after current page
    if ( is_singular() ) return; // don't show in single page
    global $wp_query, $paged;
    $max_page = $wp_query->max_num_pages;
    if ( $max_page == 1 ) return; // don't show when only one page
    if ( empty( $paged ) ) $paged = 1;
    echo '<span id="pagenavi">Pagina &rarr; ' . $paged . ' di ' . $max_page . ' &nbsp;&nbsp;</span>'; // pages
    if ( $paged > $p + 1 ) p_link( 1, 'Prima' );
    if ( $paged > $p + 2 ) echo '... ';
    for( $i = $paged - $p; $i <= $paged + $p; $i++ ) { // Middle pages
    if ( $i > 0 && $i <= $max_page ) $i == $paged ? print "<span class='page-numbers currentpage'>{$i}</span> " : p_link( $i );
    }
    if ( $paged < $max_page - $p - 1 ) echo '... ';
    if ( $paged < $max_page - $p ) p_link( $max_page, 'Ultima' );
    }
    function p_link( $i, $title = '' ) {
    if ( $title == '' ) $title = "Pagina &rarr; {$i}";
    echo "<a class='page-numbers' href='", esc_html( get_pagenum_link( $i ) ), "' title='{$title}'>{$i}</a> ";
    }
    

    Richiami la funzione nell'index con:

    <?php pagenavi(); ?>
    

    Nel css aggiungi:

    .page-numbers{margin:10px 2px 0px 2px;padding:1px 8px 1px 8px;text-decoration:none;background:#A3C159;color:#fff;}
    .page-numbers:hover{background:#009193; color:#FFFFFF;}
    .current, .current:hover{color:#FFFFFF; background:#009193; border:2px solid #009193;}
    

  • User

    fa allo stesso modo, funziona solamente la prima query

    Questa è la pagina uno,
    img232.imageshack.us/img232/2560/36479042.jpg

    Questa invece è la pagina 2 (ma potrei andare anche alla 3 ecc), i tre articoli in alto vanno bene, cambiano, quelli in basso rimangono sempre uguali
    img175.imageshack.us/img175/8056/10959862.jpg

    Vi prego, chiunque sappia come fare mi aiuti!!