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é.
-
Copiez le dossier
ironframedanswp-content/themes/. C'est le moteur — ne le modifiez jamais. -
Copiez
ironframe/starter-childà côté, et renommez-le d'après le projet :boulangerie-martin, par exemple. -
Dans Apparence → Thèmes, activez votre dossier,
pas
ironframe. - 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 :
<?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é :
<?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à.