Come mostrare gli articoli presenti in una certa categoria in ordine alfabetico anzichè cronologico.
Si può avere l’esigenza di visualizzare i post presenti in una certa categoria (o in più categorie) in ordine alfabetico, di autore o di ID, sia crescente che decrescente.
Si può influire anche sulla data, come già accade (i post vengono mostrati dall’ultimo al primo in base alla data di pubblicazione), per invertirne l’ordine.
Bisogna modificare il file category.php del proprio template, o meglio, se si vuole applicare la modifica ad una sola categoria, bisogna creare un file con il numero ID della categoria, ad esempio category-1.php se la categoria è la numero 1.
Se il vostro template non contiene un file category.php occorrerà crearlo, ad esempio dal file index.php apportando le necessarie modifiche.
Potete vedere la modifica (o hack) in questione in questa stessa categoria, Ottimizzare WordPress, dove gli articoli vengono mostrati in odine alfabetico anzichè cronologico.
Inizio Loop
Nel file category-1.php bisogna cercare il codice di inizio Loop:
< ?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
oppure
< ?php if (have_posts()) : ?>
< ?php while (have_posts()) : the_post(); ?>
e sostituirlo con il seguente:
< ?php if ($posts) { ?>
< ?php
$lastposts = get_posts(‘order=ASC&orderby=post_name&category=1′);
foreach($lastposts as $post) :
setup_postdata($post);
?>
In order possiamo usare ASC o DESC per averli ordinati in ordine crescente o decrescente.
In orderby possiamo inserire post_name per ordinarli in base al nome, post_date per ordinarli in base alla data, post_modified in base alla data di modifica, ID per mostrarli in base all’identificativo, post_author in base all’autore.
Infine in category dovremo specificare l’ID della categoria (chiamando il file category.php e non specificando nessuna categoria, o meglio eliminando del tutto l’opzione category, la modifica verrà applicata a tutte le categorie del sito).
Fine Loop
A questo punto, caricando il nuovo file sul server e visualizzando la categoria “modificata” dovremo ottenere un bell’errore.
Dovremo cercare la fine del loop in category-1.php:
< ?php endwhile; ?>
e sostituirla con questo codice:
< ?php endforeach; ?>
Se la categoria continua a darci errore, cercate ed eliminate il seguente codice dal vostro file category-1.php:
< ?php endif; ?>
Nel mio caso ho risolto apportando queste modifiche.
In base al tipo di template che avete potreste avere altri errori da sistemare o cercare un’altra strada per risolvere il problema.
Articoli Simili:
» Sistemiamo le categorie
Quando un anno fa ho installato Wordpress su questo dominio
» Meld: trovare la differenza in 2 file
Capita di essere sbadati. Ti danni l'anima per risolvere un
» E-Cigs: Negozi e Codici Sconto
Questa pagina contiene gli indirizzi e gli eventuali codici sconto
» The Excerpt: Il Riassunto
Nelle varie funzioni di Wordpress, una che a mio avviso
» H1 e H2 nel Template di WordPress
Una delle tante cose da fare per migliorare il piazzamento
» Ottimizzazione per i Motori di Ricerca
Ottimizzare un sito internet, ovvero come migliorare il posizionamento delle
» Gli URL in WordPress
URL = Uniform Resource Locator, indirizzo di un sito o

ciao, io vorrei visualizzare nelle categorie gli articoli per ordine alfabetico però questo tuo suggerimento non mi funziona. Come posso procedere? Grazie
prova a modificare un tema che non ti interessa, tipo il default di wordpress o un’altro qualsiasi, il metodo in linea di massima funziona, quindi provando su un secondo o terzo tema dovresti farcela.
poi se proprio non riesci mi dici quale tema usi e se ho un pò di tempo ci do un’occhiata
Non è stata chiusa la parentesi graffa:
viene aperta qui
e poi non viene richiusa.
Comunque dopo aver corretto questo inconveniente non funziona comunque.
Inoltre in < ?php tra il minore e il punto interrogativo credo non debba essere usato lo spazio.
Aiuto! a me non funziona :(
Scusa parte del commento è stata ovviamente cancellata perchè conteneva codice php comunque il disorso mi sembra chiaro una graffa non vine chiusa E c’è uno spazio tra < e ?