Introduction
Les bases
Les plugins incontournables
Travaux pratiques
Installation et configuration du projetRéservé aux membres premiums
16 min
En tête et pied de pageRéservé aux membres premiums
42 min
La page actualitésRéservé aux membres premiums
36 min
La single actualitéRéservé aux membres premiums
56 min
Gestion des biensRéservé aux membres premiums
25 min
Single d'un bienRéservé aux membres premiums
26 min
Listing des biensRéservé aux membres premiums
26 min
Correction du menuRéservé aux membres premiums
10 min
Recherche des biensRéservé aux membres premiums
24 min
Page d'accueilRéservé aux membres premiums
55 min
Formulaire de contactRéservé aux membres premiums
19 min

Nous allons maintenant entrer dans le vif du sujet et créer les premiers fichiers de notre thème.

Les fichiers nécessaires

Pour créer un thème WordPress il faut créer un nouveau dossier dans le dossier wp-content/themes et placer un premier fichier php nommé index.php. Ce fichier sera automatiquement utilisé pour générer les pages de votre thème. Il faudra aussi créer un fichier style.css qui contiendra le style de notre thème mais surtout un commentaire qui permettra à WordPress de connaitre les informations de votre thèmes.

La seule information nécessaire est le nom du thème.

/*
Theme Name: Mon theme
*/

Mais il est possible d'insérer un plus grand nombre d'information si vous le souhaitez. Par exemple voici le code présent dans le thème TwentyTwenty.

/*
Theme Name: Twenty Twenty
Text Domain: twentytwenty
Version: 1.1
Requires at least: 4.7
Requires PHP: 5.2.4
Description: Our default theme for 2020 is designed to take full advantage of the flexibility of the block editor. Organizations and businesses have the ability to create dynamic landing pages with endless layouts using the group and column blocks. The centered content column and fine-tuned typography also makes it perfect for traditional blogs. Complete editor styles give you a good idea of what your content will look like, even before you publish. You can give your site a personal touch by changing the background colors and the accent color in the Customizer. The colors of all elements on your site are automatically calculated based on the colors you pick, ensuring a high, accessible color contrast for your visitors.
Tags: blog, one-column, custom-background, custom-colors, custom-logo, custom-menu, editor-style, featured-images, footer-widgets, full-width-template, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready, block-styles, wide-blocks, accessibility-ready
Author: the WordPress team
Author URI: https://wordpress.org/
Theme URI: https://wordpress.org/themes/twentytwenty/
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

All files, unless otherwise stated, are released under the GNU General Public
License version 2.0 (http://www.gnu.org/licenses/gpl-2.0.html)

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned
with others.
*/

Ensuite, à l'intérieur de la page index.php vous pouvez poser la première structure de base.

<?php get_header() ?>

Ici votre contenu

<?php get_footer() ?>

Ces fonctions sont des fonctions de WordPress qui vont chercher automatiquement les fichier header.php et footer.php dans votre thème. Le fichier header.php devra inclure l'en tête de votre page ainsi qu'un appel à la méthode wp_head().

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <?php wp_head() ?>
</head>

<body>
    <nav class="navbar navbar-expand-lg navbar-dark bg-primary mb-4">
        <a class="navbar-brand" href="#"><?php bloginfo('name') ?></a>
    </nav>

    <div class="container">

Dans la partie footer nous feront pareil mais avec la méthode wp_footer().

    </div>
    <footer>
    <?php
    wp_nav_menu([
        'theme_location' => 'footer',
        'container' => false,
        'menu_class' => 'navbar-nav mr-auto'
    ])
    ?>
    </footer>
    <?php wp_footer() ?>
</body>
</html>