Installation

L’installation des thèmes est simple.

  1. Assurez-vous d’avoir un répertoire nommé my-templates/ dans le répertoire principal de bbPress.
  2. Placez le thème sur votre serveur en tant que nouveau sous-répertoire dans le répertoire my-templates/.
  3. C’est fait.

Activer un thème est encore plus simple. Selectionnez simplement le thème dans le Panneau d’Administration Présentation de votre installation bbPress.

Conception

Un thème consiste en 3 éléments.

  1. Une feuille de style nommée style.css.
  2. Une impression d’écran de votre thème nommée screenshot.png.
  3. Quelques fichiers templates.

Feuille de style

Un thème n’a réellement besoin que d’un fichier : une feuille de style nommée style.css. En haut de cette feuille de style, you devait placer les informations suivantes afin que bbPress le reconnaisse en tant que thème.
/*
Theme Name : Le nom de votre super nouveau thème.
Theme URI : L’URL de votre thème. Peut-être l’article de votre blog parlant de celui-ci.
Description : Décrivez votre thème ici. Vous pouvez être soigné et dire quelquechose comme « Bleus et Verts dans un format deux colonnes » ou énigmatique et dire « {The river here is only waist deep} ».
Version : Toujours numéroter vos publications. Veuillez n’utiliser que des nombres et des virgules.
Author : Auteur du thème original,
Author URI : et son url.
Ported By : Nom de la personne qui a porté le thème sur bbPress (si il y a lieu),
Porter URI : et son url.
*/

Impression d’écran

Vous devez inclure une impression d’écran d’une taille de 300×225px nommée screenshot.png avec votre thème afin de montrer tout sa beauté dans le panneau d’administration.

Fichiers templates

En plus de la feuille de style, bbPress cherchera les fichiers templates suivants dans votre thème. Si il ne trouve pas le fichier voulu, il utilisera celui du thème par défaut de bbPress, Kakumei.

front-page.php
Utilisé pour la façade de votre forum.

forum.php
Lors de l’affichage d’un forum.
edit-post.php
Lors de la modification d’un article.
edit-form.php
Appelé par edit_form().
favorites.php
Lors de l’affichage des préférences d’un utilisateur.
header.php
Appelé par bb_get_header()
footer.php
Appelé par bb_get_footer()
login.php
Lorsqu’un utilisateur affiche la page d’identification (/bb-login.php).
login-form.php
Appelé par login_form() lorsque l’utilisateur n’est pas identifié.
logged-in.php
Appelé par login_form() lorsque l’utilisateur est identifié.
password-reset.php
Lorsqu’un utilisateur affiche la page de réinitialisation du mot de passe.
post-form.php
Appelé par post_form().
post.php
Appelé par bb_post_template().
profile.php
Lors de l’affichage du profil d’un utilisateur.
profile-edit.php
Lors de la modification du profil d’un utilisateur.
profile-base.php
Lors de l’affichage d’une page ajoutée via une extension à un profil utilisateur.
register.php
Lorsqu’un utilisateur s’inscrit.
register-success.php
Lorsqu’un utilisateur s’est enregistré avec succès.
search.php
Lors de l’affichage des résultats d’une recherche.
search-form.php
Appelé par search_form().
stats.php
Lors de l’affichage des statistiques du forum.
topic.php
Lors de l’affichage d’un sujet.
topic-tags.php
Appelé par topic_tags().
tag-form.php
Appelé par tags_form().
topic-tags.php
Appelé par topic_tags().
tags.php
Lors de l’affichage de la page de tags.
tag-single.php
Lors de l’affichage d’un tag seul.
view.php
Lorsqu’un utilisateur identifié est sur une {view page} (tel que ‘Sujet sans réponses’).

Fiou, ça fait du monde. Mais souvenez vous, votre thème n’a pas besoin d’inclure chacun d’eux; pour les templates que vous n’incluez pas, bbPress va utiliser les templates du thème par défaut, Kakumei.
Nous réfléchissons sur la manière de rendre les choses plus propres. Dans les prochaines versions, certains de ces templates seront conjugués ou supprimés.

Notes

Finalement, voici quelques petites choses à garder à l’esprit en tant qu’éditeur de thème.

  • bbPress a quelques fonctions prédéfinies pour ajouter des classes CSS à de nombreux éléments. Jetez un oeil sur comment les templates par défaut utilisent alt_classe(), post_del_class et topic_class().
  • Les scripts AJAX utilisés sur les pages de sujet dépendent quelque peu des balises utilisés par les templates et ont besoin d’inclure le javascript dans le fichier d’en-tête du template par défaut.
    • La liste des articles qui doivent avoir l’id thread.
    • Chaque article doit être contenu dans un élément ayant l’id post-{$post_id}.
    • Le formulaire d’un article doit avoir l’id postform et son bouton d’envoi doit avoir l’id postformsub.
    • La liste de tag de l’utilisateur courant doit avoir l’id yourtaglist et celle pour tous les utilisateurs doit avoir l’id otherstaglist.
    • Chaque tag doit être contenu dans un élément ayant l’id tag-{$tag_id}_{$user_id}.
    • Le formulaire de tag doit avoir l’id tagform et son bouton d’envoi doit avoir l’id tagformsub.
    • Les meta-informations à propos d’un sujet doit être contenu dans un élément ayant l’id topicmeta et l’élément contenant les liens favoris doit avoir l’id favorites-toggle.

Toutes ces restrictions sont quelque peu ennuyeuses. Le thème par défaut Kakumei est assez bien bâti pour que vous puissiez faire le majeur partie de votre personnalisation au travers du CSS. Si vous avez des sugestions concernant de meilleurs balises, faites le nous savoir.