Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Invertire l'ordine dei post.

    Nel file index.php del mio sito c'è questo codice:

    codice:
                <?php if ( have_posts() ) : ?>
    
                    <?php /* Start the Loop */ ?>
                    <?php while ( have_posts() ) : the_post(); ?>
    
                        <?php get_template_part( 'content', get_post_format() ); ?>
    
                    <?php endwhile; ?>
    
                    <?php twentyeleven_content_nav( 'nav-above' ); ?>
    
                <?php else : ?>
    
                    <article id="post-0" class="post no-results not-found">
                        <header class="entry-header">
                            <h1 class="entry-title"><?php _e( 'Nothing Found', 'twentyeleven' ); ?></h1>
                        </header><!-- .entry-header -->
    
                        <div class="entry-content">
                            <p><?php _e( 'Apologies, but no results were found for the requested archive. Perhaps searching will help find a related post.', 'twentyeleven' ); ?></p>
                            <?php get_search_form(); ?>
                        </div><!-- .entry-content -->
                    </article><!-- #post-0 -->
    
                <?php endif; ?>
    I post compaiono CON L'ULTIMO INSERITO IN TESTA (come data del post non come data di inserimento).

    Io vorrei invertire l'ordine ossia quello inserito nella prima data (il primo gennaio per intenderci) deve apparire in testa e non in fondo a tutto. Che dovrei modificare secondo voi?

    Grazie mille.

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Stai parlando di WP, non di normale PHP, ad intuito ci pensa la funzione has_posts() a recuperare i post in un certo ordine, quindi o modifichi quella funzione (ma non è una buona idea visto che fa parte del framework di WP), oppure cerchi sulla documentazione di WP se esiste un modo per indicare a tale funzione in che ordine prelevare i post.

    Altro tentativo... vedi che cosa ritorna la funzione has_posts(), se ritorna un array contenente i post, allora puoi assegnare tale risultato ad una variabile, invertire l'array, ed usare questo per ciclare e mostrare i post.

  3. #3
    Trovato. Lo sapevo che c'era.

    Ho installato un plugin che si chiama Custom Post Order di OLT UBC (ma che accidenti di nome). Scegli l'opzione e fa tutto lui.

  4. #4
    la "soluzione" più leggera è quella di modificare la variabile globale di wp che esegue la query...
    In pratica devi inserire appena prima del loop (while) questo:
    Codice PHP:
    <?php 
    global $query_string
    query_posts($query_string "&order=ASC"); 
    ?>
    http://www.miniscript.it
    Se ti sono stato di aiuto in qualche modo in questo forum iscriviti alla fan page di Miniscript - il mio blog di programmazione web.

  5. #5
    Quote Originariamente inviata da oly1982 Visualizza il messaggio
    la "soluzione" più leggera è quella di modificare la variabile globale di wp che esegue la query...
    In pratica devi inserire appena prima del loop (while) questo:
    Codice PHP:
    <?php 
    global $query_string
    query_posts($query_string "&order=ASC"); 
    ?>

    Oltre ad installare il plugin ho aggiunto proprio dove dici tu questo codice:

    codice:
    <?php if (is_home()) {
    $page = (get_query_var('paged')) ? get_query_var('paged') : 1;
    query_posts("showposts=1&paged=$page&cat=3");
    } ?>
    In pratica compare in home page solo l'ultimo post della categoria che dico io.

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.