Creează o pagină "Toate Articolele" sau "Arhivă" cu WordPress 3.0
Aș dori să creez o pagină "Toate Articolele" pe blogul Ocean Bytes care să conțină o listă neordonată cu toate titlurile articolelor publicate până în prezent, fiecare titlu având hyperlink către articolul respectiv.
Par să existe mai multe plugin-uri care fac ceva similar, dar majoritatea nu menționează suport pentru WordPress 3.0+ sau doresc să grupeze articolele după An și apoi după Lună, ceea ce nu este ceea ce îmi doresc.
Aveți sugestii pentru "cea mai bună metodă"?
Mulțumesc.
Creează un nou fișier de șablon și folosește acest cod pentru buclă:
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();
Apoi folosește acel șablon pentru o pagină și va genera automat conținutul. Consultă pagina codex pentru query_posts()
pentru mai multe informații despre modificarea interogării.

Cea mai bună metodă" ar fi utilizarea unui șablon de pagină personalizat. La fel cum index.php
parcurge toate articolele, poți rula o interogare personalizată pentru a parcurge totul și a afișa doar informațiile dorite (titlu, URL) în browser.
Iată câteva tutoriale utile pentru crearea unui șablon de pagină personalizat:

Am creat un șablon de pagină numit "allposts-page.php" în directorul temei Twenty-Ten, care conține următorul cod:
<?php
/**
* Șablon de pagină: Toate articolele
*
* Un șablon personalizat pentru afișarea tuturor articolelor.
*
* Textul "Template Name:" de mai sus permite selectarea acestui șablon
* dintr-un meniu derulant în ecranul de editare al paginii.
*
* @package WordPress
* @subpackage Twenty_Ten
* @since Twenty Ten 1.0
*/
get_header(); ?>
<div id="container">
<div id="content" role="main">
<h2>Arhivă cu toate articolele:</h2>
<ul>
<?php wp_get_archives('type=postbypost'); ?>
</ul>
</div><!-- #content -->
</div><!-- #container -->
<?php get_footer(); ?>
Apoi am creat o pagină nouă folosind sistemul de administrare WordPress cu titlul "Toate articolele" și am selectat șablonul "All Posts" din meniul derulant. Nu a fost necesar să introduc nimic în corpul paginii.
Pagina rezultată poate fi accesată la:
www.oceanbytes.org/all-posts/
Opțiunea implicită pentru "wp_get_archives" este "monthly" (lunar), dar am ales "postbypost" pentru a afișa toate articolele într-o listă lungă. Mai multe opțiuni pot fi găsite pe site-ul WordPress la Referință de funcții/wp get archives

Notă: Deși soluția de mai sus a funcționat cu site-ul WP 3.0 auto-găzduit anterior, acum nu am acces să creez șabloane de pagină pe noul site WP 4.x găzduit extern din cauza restricțiilor de găzduire. Astfel, pagina rezultată listată mai sus nu rulează codul PHP menționat.
