Tuto 03 : Thème WordPress : La base des Templates
VVoici donc les fichiers indispensables à la création du thème. Ils servent tous suivant la hiérarchie organisé par WordPress à l'affichage du blog et chacun a son rôle. Ici, on reste dans le brut de décoffrage, donc sans véritables mises en forme.
- header.php -> La partie du haut
- index.php -> La partie centrale
- single.php -> La partie pour l'article seul
- archive.php -> La page des archives (mois, jours, tags...)
- search.php -> La page affichant les résultats du moteur de recherche
- searchform.php -> Le formulaire de recherche
- comments.php -> La partie dédiée aux commentaires (affichages et ajouts)
- sidebar.php -> La barre latérale
- footer.php -> Le pied de page
Voici les informations à mettre dans le header.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head profile="http://gmpg.org/xfn/11"> <title><?php bloginfo('name') ?> <?php if ( is_404() ) : ?> » <?php _e('Not Found') ?><?php elseif ( is_home() ) : ?> » <?php bloginfo('description') ?><?php else : ?><?php wp_title() ?> <?php endif ?></title> <meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" /> <meta name="generator" content="WordPress <?php bloginfo('version'); ?>" /> <!-- leave this for stats --> <link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen" /> <link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="<?php bloginfo('rss2_url'); ?>" /> <link rel="alternate" type="text/xml" title="RSS .92" href="<?php bloginfo('rss_url'); ?>" /> <link rel="alternate" type="application/atom+xml" title="Atom 0.3" href="<?php bloginfo('atom_url'); ?>" /> <link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" /><?php wp_head(); ?> <?php wp_get_archives('type=monthly&format=link'); ?> <?php //comments_popup_script(); // off by default ?> <?php wp_head(); ?> </head> <body> <h1><a href="<?php bloginfo('url'); ?>"><?php bloginfo('name'); ?></a></h1>
Voici celles qui vont dans le fichier index.php. A savoir aussi, que le fichier single.php sera à créer sur la même base que celui-ci, à l'exception de l'affichage du nombre de commentaires, puisque c'est justement sur ce template que l'on affichera le contenu des commentaires. On reverra ça sur le tutoriel suivant.
<?php get_header(); ?> <?php if(have_posts()) : ?><?php while(have_posts()) : the_post(); ?> <h2><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h2> <?php the_time('j F Y') ?> par <?php the_author() ?> | Catégorie: <?php the_category(', ') ?> | <?php comments_popup_link('Pas de commentaires', '1 Commentaire', '% Commentaires'); ?> <?php edit_post_link('Editer', ' | ', ''); ?> <?php the_content(); ?> <?php endwhile; ?> <?php endif; ?> <?php get_sidebar(); ?> <?php get_footer(); ?> </body> </html>
Concernant la sidebar, sidebar.php devra s'écrire comme ça :
<ul> <?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar() ) : ?> CONTENU DE LA SIDEBAR <?php endif; ?> </ul>
Afin de rendre cette barre latérale widgetisable, il faudra ajouter aussi le fichier functions.php avec le code ci-dessous. Pour une sidebar a deux colonnes, il faut simplement mettre "sidebar(2)"...
<?php if ( function_exists('register_sidebar') ) register_sidebar(); ?>
Oui, il manque le footer.php, n'est-ce pas ? Qu'importe, vous mettez ce que vous voulez dedans. Vos Copyrights, vos infos importantes... L'important, c'est d'appeler ce fichier depuis l'index.php. On peut par contre en profiter pour y placer un rappel de vos RSS comme ceci :
<a href="feed:<?php bloginfo('rss2_url'); ?>">Articles (RSS)</a> - <a href="feed:<?php bloginfo('comments_rss2_url'); ?>">Commentaires (RSS)</a>




