Prise en main

Démarrer

Installer le thème et écrire sa première page. Comptez dix minutes, sans rien télécharger d'autre.

Ce dont vous avez besoin

WordPress 6.0 ou plus récent, PHP 7.4 ou plus récent. Rien d'autre : ni extension, ni Composer, ni npm. Si vous savez copier un dossier par FTP, vous savez installer Ironframe.

Installation

Ironframe se compose de deux thèmes : le moteur, qui se met à jour, et votre projet, qui ne sera jamais écrasé.

  1. Copiez le dossier ironframe dans wp-content/themes/. C'est le moteur — ne le modifiez jamais.
  2. Copiez ironframe/starter-child à côté, et renommez-le d'après le projet : boulangerie-martin, par exemple.
  3. Dans Apparence → Thèmes, activez votre dossier, pas ironframe.
  4. C'est terminé. Le rôle Client est créé automatiquement, et le jeu de gabarits de départ est déjà dans votre thème.

Qui contient quoi

Dossier Contenu Qui le met à jour
ironframe/ Le moteur : champs, rôle client, réglages, API Ironframe
Votre thème Gabarits, schémas, styles, images Vous

Un fichier de votre thème remplace celui du moteur qui porte le même nom. Pour reprendre un gabarit livré, copiez-le simplement : il n'y a rien à désinscrire.

Les gabarits livrés

Le thème ne part pas de rien. Quatre gabarits sont fournis, à adapter ou à supprimer selon le projet. Les ouvrir dans cet ordre est la façon la plus rapide de comprendre le moteur.

Gabarit Ce qu'il montre
Accueil Un groupe, trois champs. L'exemple minimal.
Produits Bandeau désactivable, catalogue en liste répétable, liste de choix pilotant une classe CSS.
Contact Les réglages globaux du site, et le seul usage légitime de iron_option_raw().
Mentions légales La page réglementaire, en sections répétables.

Les classes CSS suivent une convention BEM et n'ont aucun style : la mise en forme vous appartient entièrement, dans assets/style/main.css.

Votre première page, en cinq minutes

1. Le gabarit

Créez pages/accueil.php :

pages/accueil.php
<?php
/**
 * Template Name: Accueil
 */

defined('ABSPATH') || exit;

iron_header();
?>

<section class="hero">
</section>

<?php
iron_footer();

L'en-tête Template Name: est ce qui fait apparaître le gabarit dans la liste Attributs de page de WordPress. iron_header() et iron_footer() ouvrent et ferment le document : en-tête du site, balise main, pied de page.

2. Le schéma de champs

Créez pages/accueil.fields.php, juste à côté :

pages/accueil.fields.php
<?php

defined('ABSPATH') || exit;

return [

    'hero' => [
        'label'  => 'Bannière',
        'fields' => [
            'title' => ['type' => 'text',  'label' => 'Titre principal'],
            'image' => ['type' => 'image', 'label' => 'Visuel de fond'],
        ],
    ],

];

3. L'affichage

De retour dans pages/accueil.php :

<section class="hero">
    <h1><?= iron_field('hero.title') ?></h1>
    <?= iron_image('hero.image', '16_9', ['class' => 'hero__bg']) ?>
</section>

Le chemin hero.title se lit « groupe point champ ». Tout ce que renvoient ces fonctions est déjà échappé.

4. Côté administration

Créez une page, choisissez le gabarit Accueil dans les Attributs de page, enregistrez. La meta box Bannière apparaît avec ses deux champs.

L'arborescence du thème

ironframe/                    LE MOTEUR — ne rien y modifier
├── functions.php              point d'entrée, ne fait que charger inc/
├── index.php  404.php         gabarits de repli
├── header.php  footer.php     enveloppe du document
├── style.css                  reset CSS
├── inc/
│   ├── paths.php              résolution projet / moteur
│   ├── theme-setup.php        supports, tailles d'images, textdomain
│   ├── cleanup.php            nettoyage du head, flux désactivés
│   ├── assets.php             chargement des CSS et JS
│   ├── layout.php             iron_header() et iron_footer()
│   ├── fields/                le moteur de champs
│   ├── options/               les réglages globaux du site
│   └── client/                le rôle client et ses restrictions
├── starter-child/             le modèle à copier pour démarrer un projet
└── languages/                 ironframe.pot

votre-projet/                 VOTRE THÈME — tout votre travail
├── style.css                  en-tête du thème, chargé en dernier
├── functions.php              vos filtres
├── pages/                     un gabarit + son schéma, par page
├── options/                   les schémas des réglages globaux
├── templates/                 partiels réutilisables
└── assets/                    css et js

Tout votre travail se passe dans votre thème. Vous n'avez aucune raison d'ouvrir ironframe/, sinon pour lire.

Et ensuite

Les types de champs disponibles, la façon de les déclarer et l'API d'affichage sont détaillés dans les chapitres suivants. Si vous vous demandez pourquoi le thème est construit ainsi, le manifeste répond à cette question-là.