
De câteva zile, găsiți o pagină de arhive pe blog.
Construcția unei pagini de arhive WordPress pare simplă la o primă vedere, însă pentru a reuși, veți avea nevoie de câteva cunoștințe extra, respectiv cum se construiește un template WordPress și codul pentru generarea unei arhive WP. Am căutat un pic până să aflu această minunata informație, prin urmare m-am gândit să-i ajut pe cei care doresc arhivele pe o pagină WordPress separată, un element util pentru optimizare site sau blog WordPress.
În primul rând, trebuie să creați o pagină de tipul arhive.php pe server, mai precis în public_html/wp-content/themes/Theme/Numele temei.
Odată ce avem creată această pagină, ea ne va servi drept template WordPress, însă va trebui să o populăm cu un cod PHP potrivit, pe care îl vom copia de la celelalte template-uri wordpress, fie că vorbim de cel din page.php, page-full.php sau single.php, cu sau fără afișare a sidebar-ului, după preferințe. Eu am ales să nu afișez sidebar-ul pentru a nu dubla lista categoriilor pe pagina arhivei.
Putem să lucrăm direct în archives.php de pe server sau într-un editor simplu, de tipul Dreamweaver.
Codul copiat dintr-un alt template de pagină WordPress în arhive.php ar trebui să arate cam așa:
<?php /* Template Name: Archives */ ?> <?php get_header(); ?> <div id="main-content" class="clearfix fullwidth"> <div id="left-area"> <?php get_template_part('includes/breadcrumbs','page'); ?> <div id="entries"> <div class="entry post clearfix"> <?php get_template_part('loop','page'); ?> </div> <!-- end .entry --> <?php if (get_option('aggregate_show_pagescomments') == 'on') comments_template('', true); ?> </div> <!-- end #entries --> </div> <!-- end #left-area -->
Odată ce-am copiat codul template-ului, va trebui să îl populăm cu acel cod php care ne va genera o listă a celor mai recente articole de pe blog:
<?php $posts_to_show = 100; //Max number of articles to display $debut = 0; //The first article to be displayed ?> <?php while(have_posts()) : the_post(); ?> <h3>Arhiva Articole</h3> <ul> <?php $myposts = get_posts('numberposts=$posts_to_show&offset=$debut'); foreach($myposts as $post) : ?> <li><?php the_time('d/m/y') ?>: <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li> <?php endforeach; ?> </ul> <?php endwhile; ?> <?php while(have_posts()) : the_post(); ?>
Arhivele lunare WordPress se generează folosind codul de mai jos, la care putem adăuga și-un titlu de tipul H2, H3:
<ul><?php wp_get_archives('type=monthly&show_post_count=1') ?></ul>
Dacă dorim să adăugăm o arhivă pentru categoriile de articole de pe blog, vom folosi codul:
<ul><?php wp_list_cats('sort_column=name&optioncount=1') ?></ul>
Am văzut pe Re:Fresh o afișare a celor mai populare Tag-uri în pagina de arhive și m-am decis s-o adaug și eu folosind codul:
<ul><?php wp_tag_cloud( $args ); ?></ul>
Nu uitați să adăugați codul care generează footer-ul temei de WordPress, la sfârșitul paginii arhive.php:
<?php get_footer(); ?>
Odată ce ați salvat fișierul arhive.php ce conține codul de mai sus pe server, în folder-ul temei curente de WordPress, tot ce aveți de făcut este să mergeți în WP Admin și să creați o pagină nouă, pe care o denumiți cum doriți (Arhive) și selectați template-ul creat, denumit arhive, din partea stângă. Salvați și apoi puteți adăuga pagina în meniu.
La final, ar trebui să arate cam așa: Arhive.
Simplu, nu? 🙂
Sursele de info pentru codurile de mai sus: Biblia WP și tutoriale WordPress.