ilozen

Modifier wp : modèles de page, requêtes multiples

2010 juin 28th
0 Comments

noeud Maintenant que vous connaissez la boucle, vous allez pouvoir sur certaines pages choisir votre contenu.

L’idée de base, pour notre site web, est d’avoir des pages thématiques qui reprendront certaines catégories de certains services (que dit la cellule de veille du cancer (catégorie n°24), le billet de la revue spécial cancer (billet n° 2541), la catégorie du service methodo sur les outils cancers (cat n°36), la sélection biblio sur le cancer (billet n° 3525)…).

Les modèles de pages permettent de modifier la page par défaut (voir les pages wp sur le codex). En en-tête de ce fichier nommé page.php, copiez et collez ces lignes :

<?php
/*
Template Name: agenda
*/
?>

<?php

/*

Template Name: pagethematique

*/

?>

Balancez le fichier modifié sur le serveur et désormais apparait dans le menu à droite de l’écran « ajoutez une page » le modèle page thématique :

modelepage

Le fichier page.php contient déjà une boucle. Nous allons la modifier pour faire apparaitre les billets produits par la cellule de veille autour du cancer (catégorie n°24) :

<?php query_posts(’cat=24&showposts=3′);

if (have_posts()) : while (have_posts()) : the_post(); ?><li><a href= »<?php the_permalink() ?> »><?php the_title() ?></a></li><br /><?php endwhile; endif;?>

Dans ce bloc nous ne prenons que les 3 derniers billets (showposts=3) de la catégorie souhaitée. On affiche ensuite sous forme de liste de liens les titres de ces articles.

Il va falloir répéter cette opération plusieurs fois MAIS, pour que cela fonctionne, vous devez dire à wordpress d’arrêter avec cette requête avant d’en lancer une autre. Pour ce faire il suffit de copier en fin de boucle la phrase : <?php wp_reset_query(); ?>

On recommence l’opération dans un autre bloc avec un billet dédié aux cancers par le service de la revue (et quand la revue modifiera ce billet pour les mises à jour de son service, cela se fera automatiquement sur la page thématique)  :

<?php query_posts(’p=2541&showposts=1′);

if (have_posts()) : while (have_posts()) : the_post(); ?><a href= »<?php the_permalink() ?> »><?php the_excerpt() ?></a><br /><?php endwhile; endif;?><?php wp_reset_query();?>

Dans ce bloc nous ne prenons que le billet (showposts=1) du sujet souhaité (le n°2541). On affiche ensuite le résumé de celui-ci (the_excerpt) avec un lien vers le billet original (the permalink). Enfin on explique à wp d’arrêter avec cette requête avant d’en lancer une autre…

Voilà comment seront construites les pages thématiques de notre futur site. Et voilà comment wordpress, avec quelques modifications, devient bien plus qu’une plate-forme de blog.

photo : reef knot – explored #218 par Katie Dalton

Filed under Wordpress



(required)



(required) (Won't be displayed)


Your Comment:

Photos
concertbarcoutancesorekatxthéiereshommetrompette