Cet article est une traduction du tutoriel How To Create a WordPress Theme rédigé par Ian Stewart, l’auteur du framework WordPress Thematic disponible sur son site ThemeShaper. Avec son aimable autorisation et mes remerciements.
Les Templates Search et Page sont essentiels pour qu’un thème WordPress soit complet. De plus ils sont assez faciles à coder. Pour ces deux templates nous partirons une fois de plus de notre template modèle :
Mais évidemment chacun va suivre son propre chemin.
Le Template Search
Dans search.php nous allons réintroduire la boucle. Et cette fois-ci avec une instruction IF, au cas où nous n’aurions rien à boucler.
Voici comment ça va fonctionner : SI nous avons des articles, c’est à dire si des articles correspondent à notre recherche, ALORS nous bouclons sur ces articles, juste comme dans index.php, MAIS SI nous n’avons pas d’articles ou bien si aucun article ne correspond à notre recherche ALORS nous donnerons l’opportunité à nos utilisateurs de rechercher autre chose.
Pour le code, ça va ressembler à cela :
<?php get_header();?><div id="container"><div id="content"><?phpif( have_posts()):?><?phpwhile( have_posts()): the_post()?><!-- this is our loop --><?phpendwhile;?><?phpelse:?><!-- here's where we'll put a search form if there're no posts -->
<?php endif; ?>
</div><!-- #content -->
</div><!-- #container -->
<?php get_sidebar(); ?>
<?php get_footer(); ?>
Assez facile en fait.
J’aime bien que tous mes templates basés sur index.php se ressemblent : le titre de l’article, les données méta, le contenu (ou l’extrait) et les liens utiles. Mais lorsque WordPress recherche des articles, il recherche également parmi les pages statiques WordPress qui ne nécessitent pas d’afficher les données méta et les liens. Pour cela dans notre boucle, nous allons vérifier si nous avons à faire à un article ou à une page statique.
1
2
<?phpif($post->post_type=='post'){?><?php}?>
Entourez n’importe quel code avec cette instruction IF et il s’exécutera seulement si nous avons à faire à un article (ndT : dans la version de Ian il parle de page et non d’article cependant le code filtre bien sur le type article et non page). Maintenant que nous avons compris comment ça fonctionnne, voilà à quoi ressemblera notre div #content :
J’imagine que vous savez à quoi sert le template Page. WordPress considère les pages statiques comme des articles qui ne sont pas inclus dans la chronologie. Nous les voyons… et bien comme des pages. Mais en fait elles sont définies par le fait qu’elles n’ont pas les pièges qui caractérisent un article de blog.
A l’exception des commentaires. Car quelques fois les pages statiques ont des commentaires. Même si je n’aime pas trop les commentaires sur les pages statiques, il se peut que vous en ayez un jour. Nous devons donc nous en occuper. Comment peut on faire? Et bien avec les champs personnalisés. Si vous voulez avoir des commentaires sur une page il suffit d’ajouter un champ personnalisé à la page avec pour nom et pour valeur « comments ». Plutôt intéressant en fait.
Voici donc ce dont vous aurez besoin pour un template page parfait :
<?php get_header();?><div id="container"><div id="content"><?php the_post();?><div id="post-<?php the_ID(); ?>"<?php post_class();?>><h1 class="entry-title"><?php the_title();?></h1><div class="entry-content"><?php the_content();?><?php wp_link_pages('before=<div class="page-link">'. __('Pages:','your-theme').'&after=</div>')?><?php edit_post_link( __('Edit','your-theme'),'<span class="edit-link">','</span>')?></div><!--.entry-content --></div><!--#post-<?php the_ID(); ?>--><?phpif( get_post_custom_values('comments')) comments_template()// Add a custom field with Name and Value of "comments" to enable comments on this page ?> </div><!--#content -->
</div><!--#container -->
<?php get_sidebar();?><?php get_footer();?>
Cet article fait partie du tutoriel Créer un Thème WordPress :
Créer un Thème WordPress : 9. Les Templates Search et Page
Les Templates Search et Page sont essentiels pour qu’un thème WordPress soit complet. De plus ils sont assez faciles à coder. Pour ces deux templates nous partirons une fois de plus de notre template modèle :
Mais évidemment chacun va suivre son propre chemin.
Le Template Search
Dans
search.phpnous allons réintroduire la boucle. Et cette fois-ci avec une instruction IF, au cas où nous n’aurions rien à boucler.Voici comment ça va fonctionner : SI nous avons des articles, c’est à dire si des articles correspondent à notre recherche, ALORS nous bouclons sur ces articles, juste comme dans
index.php, MAIS SI nous n’avons pas d’articles ou bien si aucun article ne correspond à notre recherche ALORS nous donnerons l’opportunité à nos utilisateurs de rechercher autre chose.Pour le code, ça va ressembler à cela :
Assez facile en fait.
J’aime bien que tous mes templates basés sur
index.phpse ressemblent : le titre de l’article, les données méta, le contenu (ou l’extrait) et les liens utiles. Mais lorsque WordPress recherche des articles, il recherche également parmi les pages statiques WordPress qui ne nécessitent pas d’afficher les données méta et les liens. Pour cela dans notre boucle, nous allons vérifier si nous avons à faire à un article ou à une page statique.Entourez n’importe quel code avec cette instruction IF et il s’exécutera seulement si nous avons à faire à un article (ndT : dans la version de Ian il parle de page et non d’article cependant le code filtre bien sur le type article et non page). Maintenant que nous avons compris comment ça fonctionnne, voilà à quoi ressemblera notre div #content :
Le Template Page
J’imagine que vous savez à quoi sert le template Page. WordPress considère les pages statiques comme des articles qui ne sont pas inclus dans la chronologie. Nous les voyons… et bien comme des pages. Mais en fait elles sont définies par le fait qu’elles n’ont pas les pièges qui caractérisent un article de blog.
A l’exception des commentaires. Car quelques fois les pages statiques ont des commentaires. Même si je n’aime pas trop les commentaires sur les pages statiques, il se peut que vous en ayez un jour. Nous devons donc nous en occuper. Comment peut on faire? Et bien avec les champs personnalisés. Si vous voulez avoir des commentaires sur une page il suffit d’ajouter un champ personnalisé à la page avec pour nom et pour valeur « comments ». Plutôt intéressant en fait.
Voici donc ce dont vous aurez besoin pour un template page parfait :