Créer une bannière dynamique planifiable grâce au custom post type

Le thème Tweentyten permet par défaut de modifier la bannière du header, ce tutoriel vous montre comment créer à la volée plusieurs bannières planifiables comme s’il s’agissait d’articles grâce au custom post type. Cela permet de rendre votre blog plus vivant en changeant fréquemment la bannière et gagner du temps grâce à la planification.

Prérequis

  • WordPress 3.0+.
  • Le plugin Easy Post Type (voir cet article pour plus d’informations ).
  • 1 heure maxi devant vous.
  • Le tutoriel se fera sur sur le thème tweentyten par défaut, à vous de l’adapter à votre situation.
  • Un lot d’images de la même taille, pour notre exemple 940×198 (téléchargeable ici).

Création de l’entité « banniere »

  • Activer le plugin Easy Post type depuis le menu des extensions de votre administration, uploadé bien sûr au préalable dans le répertoire plugins via ftp.
  • Si le plugin génère une erreur c’est probablement que le Php5 n’est pas activé : voici un lien pour résoudre ce problème.
  • Activer la version française du plugin (facultatif) en uploadant les deux fichiers de langue à la racine de celui-ci (fichiers disponibles ici ).
  • Ajouter un nouveau Post Types « bannière » depuis l’administration (Easy Post Types/ Paramètres Généraux ).

Nom (pluriels) : bannieres.

Nom (singulier) : banniere.

Nom (système) : banniere (important pas de majuscules,d’espace ni d’accents).

Décocher toutes les options sauf : Titre (servira juste à se repérer, ne s’affichera pas sur le thème) et miniature (servira à uploader l’image).

Après validation un nouvel onglet « bannieres » vient d’être crée en dessous de commentaires.

Création du contenu

Dans bannière, ajouter le titre de la bannière et une image « à la une », en taille originale puis cliquer sur publier.

Afficher la bannière

Éditer le fichier header.php (dupliquer le fichier pour le sauvegarder au cas où !) et remplacer les lignes :

[php]<?php // Check if this is a post or page, if it has a thumbnail, and if it’s a big one if ( is_singular() && has_post_thumbnail( $post->ID ) && ( /* $src, $width, $height */ $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), ‘post-thumbnail’ ) ) && $image[1] >= HEADER_IMAGE_WIDTH ) : // Houston, we have a new header image! echo get_the_post_thumbnail( $post->ID, ‘post-thumbnail’ ); else : ?> <img src= »<?php header_image(); ?> » width= »<?php echo HEADER_IMAGE_WIDTH; ?> » height= »<?php echo HEADER_IMAGE_HEIGHT; ?> » alt= »" /> <?php endif; ?> [/php]

par celui-ci :

[php] <?php $arguments = array( ‘post_type’ => ‘banniere’, ‘post_status’ => ‘publish’, ‘posts_per_page’ => 1, ‘caller_get_posts’ => 1 ); query_posts($arguments); ?> <?php while ( have_posts() ) : the_post(); ?> <?php the_post_thumbnail();?> <?php endwhile; // End the loop. Whew. ?> <?php wp_reset_query(); ?> [/php]

Et voila, si tout ce passe bien la nouvelle bannière s’affiche à la place de l’ancienne, il ne reste plus qu’a retourner sur l’administration et créer d’autres bannières mais au lieu de les publier il suffit de les planifier pour des dates futures.

Aller plus loin

Le plugin Easy Post Types permet aussi de modifier les labels de notre entité « bannière » via Easy Post type (Easy Post Type/Modifier Champs). En effet lorsque l’on ajoute du contenu, les labels sont sous la forme de : « Ajouter un nouvel article », « Aucun article trouvé », … Pour rendre un aspect plus professionnel, modifier les labels est obligatoire pour un client.

Laisser un commentaire