# Wordpress

# Introduction

# Hiérarchie des templates

Pour afficher les contenus des différentes page, Wordpress utilise un ensemble de fichiers php, ou templates. Ces templates constitue une hierarchie qui permet de définir quel template s'applique en priorité dans le cas ou plusieurs templates sont potentiellement applicables à une même page.

On les trouve généralement à la racine du thème ou dans un sous-dossier du thème. Dans le cas de notre Starter theme, ils sont situés dans projet-theme/resources/views.

Nous présenterons ici les templates les plus communs qui te permettront de démarrer sereinement dans l'intégration WP. Pour en savoir plus sur le sujet, tu peux consulter la doc sur les templates.

Le Starter theme Digital Swing, basé sur Roots/Sage, utilise Laravel Blade afin de faciliter le développement front-end. L'extensions des templates dans ce cas est .blade.php, mais la hierarchie des templates est la même que dans une installation classique de WP.

# Accueil et blog

Ces deux templates s'appliquent aux pages configurées dans Réglages > Lecture. Le template pour la page d'accueil est front-page.php et celui pour le blog home.php.

# Page

Ces templates s'appliquent aux pages, que l'on trouve dans la section Pages du back-office.

Le template page.blade.php s'applique à toutes les pages. Si on veut définir un template pour une page spécifique, on crééra un template nommé page-nompage.blade.php.

# Single

Il s'agit des templates qui s'appliquent au éléments uniques. single.blade.php est le template qui gère l'affichage d'un article de blog et par défaut de tous les éléménts uniques. Si on veut définir un template pour un autre type de custom post, par exemple un événément, on le nommera single-evenement.blade.php ou de manière générale single-nom_du_custom_post.blade.php.

# Archives

Les archives sont les pages qui liste plusieurs post d'une même catégorie. Par exemple la liste des articles de blog avec archive.blade.php. Généralement on utilisera plutôt les templates de taxonomies tels que category.blade.php, category-chaussures.blade.php, ou encore author.blade.php.

# Inclusion de templates, ou partials

Wordpress offre un mécanisme permettant d'importer un template dans un autre. L'équivalent dans Laravel Blade est appelé "partials". Par exemple pour afficher un article, on peut avoir un partial pour le header, le contenu, et le footer de l'article.

Dans Blade on utilise pour cela la directive @include, par exemple @include('partials/entry-meta') ou @include('partials.entry-meta') (dans Blade on peut indifféremment remplacer les "/" par des points).

Le repertoire des partials est situé dans views et le moteur de Blade sait qu'on fait référence au dossier views lorsqu'on fait un @include. Il n'est pas nécessaire d'indiquer le chemin entier depuis la racine du thème ou du site.

# WP Pusher

Plugin WP pour mettre à jour automatiquement des sites depuis un repo Git