Creare una pagina "Tutti gli Articoli" o "Archivio" con WordPress 3.0?
Vorrei creare una pagina "Tutti gli Articoli" sul blog Ocean Bytes che contenga un elenco non ordinato di tutti i titoli degli articoli pubblicati fino ad oggi, con ogni titolo che rimanda tramite collegamento ipertestuale al relativo post del blog.
Sembrano esserci diversi plugin che fanno qualcosa di simile, ma la maggior parte non indica ancora la compatibilità con WordPress 3.0+, oppure vogliono suddividere gli articoli del blog per Anno e poi per Mese, cosa che non è desiderata.
Qualche suggerimento sul "modo migliore" per farlo?
Grazie.
Crea un nuovo file template e implementa questo loop:
query_posts( array( 'posts_per_page' => -1, 'post_status' => 'publish' ) );
if( have_posts() ):
echo '<ul>';
while( have_posts() ):
the_post();
echo '<li><a href="';
the_permalink();
echo '">';
the_title();
echo '</a></li>';
endwhile;
echo '</ul>';
endif;
wp_reset_query();
Poi utilizza semplicemente quel template per una pagina e genererà automaticamente il contenuto. Consulta la pagina del codex per query_posts()
per maggiori informazioni su come modificare la query.

Il "Miglior Modo" sarebbe utilizzare un modello di pagina personalizzato. Proprio come index.php
scorre tutti gli articoli, puoi eseguire una query personalizzata per scorrere tutto e mostrare solo le informazioni che desideri (titolo, URL) nel browser.
Ecco alcuni buoni tutorial per creare un modello di pagina personalizzato:

Ho finito per creare un template di pagina chiamato "allposts-page.php" nella cartella del tema Twenty-Ten contenente il seguente codice:
<?php
/**
* Template Name: Tutti gli Articoli
*
* Un template personalizzato per la pagina che mostra tutti gli articoli.
*
* La riga "Template Name:" sopra permette di selezionare questo template
* dal menu a tendina nella schermata di modifica della pagina.
*
* @package WordPress
* @subpackage Twenty_Ten
* @since Twenty Ten 1.0
*/
get_header(); ?>
<div id="container">
<div id="content" role="main">
<h2>Archivio di Tutti gli Articoli:</h2>
<ul>
<?php wp_get_archives('type=postbypost'); ?>
</ul>
</div><!-- #content -->
</div><!-- #container -->
<?php get_footer(); ?>
Ho poi creato una nuova pagina usando il sistema di amministrazione di Wordpress con il titolo "Tutti gli Articoli" e ho selezionato il template "Tutti gli Articoli" dal menu a tendina. Non è stato necessario inserire nulla nel corpo della pagina.
La pagina risultante può essere trovata all'indirizzo:
www.oceanbytes.org/all-posts/
L'impostazione predefinita per "wp_get_archives" è "monthly" (mensile) ma ho scelto "postbypost" perché volevo semplicemente elencare tutti gli articoli in una lunga lista. Altre opzioni possono essere trovate sul sito di Wordpress alla pagina Riferimento Funzioni/wp get archives

Nota: Sebbene quanto sopra funzionasse con il precedente sito WP 3.0 self-hosted, non ho accesso per creare template di pagina sull'attuale sito WP 4.x ospitato esternamente a causa delle restrizioni di hosting. Quindi la pagina risultante elencata sopra non esegue il codice PHP sopra.
