Consulter la hiérarchie des fichiers modèles de Wordpress
Fichier obligatoire pour la création d'un thème. Il est le fichier que Wordpress appelle quand il n'a rien d'autre sous la main pour afficher du contenu. Mais il sert principalement à afficher la page d'accueil. Ce fichier doit être placé à la racine du thème.
Fichier de type "include" dans lequel vous allez isoler tout le code qui est amené à être répèté dès le début de toutes vos pages, pour vous faciliter sa mise à jour par la suite. Ce fichier doit être placé à la racine du thème.
Fichier de type "include" dans lequel vous allez isoler tout le code qui est amené à être répèté à la fin de toutes vos pages, pour vous faciliter sa mise à jour par la suite. Ce fichier doit être placé à la racine du thème.
C'est la feuille de style qui permet à Wordpress d'identifier un thème et à le rendre valide. Elle doit reprendre un code d'introduction sous forme de commentaire (voir ci-dessous). Elle doit être placée à la racine du thème au même titre que les autres fichiers php.
C'est le fichier qui ajoute des fonctionnalités à votre Wordpress comme par exemples les images à la une, la possibilité d'avoir des menus dynamiques, etc. Ce fichier doit être placé à la racine du thème.
C'est la représentation d'un article (de base) seul. Quand vous cliquez sur un article à partir de la homepage pour en avoir un aperçu complet, c'est ce fichier qui est chargé par Wordpress.
C'est le template qui sert pour représentater un article (issu d'un nouveau type de contenu - ici "nomdutypedecontenu" - nom système) seul. Quand vous cliquez sur un article à partir de la homepage issu d'une boucle paramétrée pour afficher un autre type de contenu que le contenu de base, c'est ce fichier qui est chargé par Wordpress. S'il n'existe pas, Wordpress charge single.php
C'est le template qui sert pour représenter une page statique.
C'est le template qui sert pour représenter un clic sur une catégorie, une date, le nom de l'auteur d'un article, etc. - issus des articles de base.
C'est le template qui sert pour représenter un clic sur une catégorie, une date, le nom de l'auteur d'un article, etc. - issus d'un type de contenu personnalisé, ici "nomdutypedecontenu".
La fonction bloginfo(); sur le codex WP
Affiche le nom du blog, n'importe où dans le site.
Rendu : Le nom de votre blog
Affiche la description de votre blog, n'importe où dans le site.
Rendu : La description de votre blog
Affiche l'URL complète d'accès à la page d'accueil de votre site.
Rendu : http://www.example.com/home
Affiche l'URL complète d'accès au ficher style.css qui se trouve à la racine de votre thème.
Rendu : http://www.example.com/home/wp/wp-content/themes/largo/style.css
Affiche l'URL complète d'accès au dossier racine de votre thème (sans préciser un fichier).
Rendu : http://www.example.com/home/wp/wp-content/themes/largo
Affiche l'URL complète d'accès au dossier racine de votre thème (sans préciser un fichier).
Rendu : http://www.example.com/home/wp/wp-content/themes/largo
Affiche tout le contenu issu du fichier header.php à l'endroit où la fonction est appelée
Affiche tout le contenu issu du fichier footer.php à l'endroit où la fonction est appelée
La boucle simple sur BBX Wordpress
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
Le contenu à boucler ici
<?php endwhile; ?>
<?php else : ?>
<?php endif; ?>
À placer principalement sur la page single, pour permettre l'affichage du contenu dynamique.
<?php
$query = new WP_Query(array('post_type' => 'works', 'posts_per_page' => 1));;
if($query->have_posts()) : while($query->have_posts()) : $query->the_post();
?>
Le contenu à boucler ici
<?php endwhile; endif; ?>
Permet, grâce à ses paramètres, d'afficher un contenu d'un certain type (avec post_type), d'en afficher un certain nombre (avec posts_per_page), etc.
/*
Theme Name: OC
Theme URI: http://www.olivier-ceressia.be
Description: Webdesigner online portfolio
Version: 1.0
Author: The_OC_be
Author URI: http://www.olivier-ceressia.be
Tags: responsive, fresh, nice
*/
Elle est essentielle au bon fonctionnement d'un thème (au même titre que le fichier index.php). Les informations reprises dans cette en-tête permettent à Wordpress d'identifier le thème selon différents critères. Attention, à ne jamais supprimer !
<?php
/*
Template Name: Contact
*/
?>
Quand vous créez, au même niveau que les autres ficheirs php, un fichier qui porte n'importe quel nom avec l'extension .php et que vous lui indiquez en premier lieu cette en-tête, vous offrez la possibilité à Wordpress, quand vous créez une page dans Wordpress, d'attacher cette page à ce modèle et de reprendre sa structure pour afficher le contenu.
Les marqueurs conditionnels sur le codex WP
Marqueur conditionnel qui vérifie si on se trouve sur la homepage et affiche le contenu entre les { } si la condition est remplie.
Marqueur conditionnel qui vérifie si on se trouve sur une page de type single (peu importe de quel type de contenu) et affiche le contenu entre les { } si la condition est remplie.
Marqueur conditionnel qui vérifie si on se trouve sur une page et affiche le contenu entre les { } si la condition est remplie. Vous pouvez indiquer le nom d'une page (ou son id) entre les parenthèses (ex : is_page('contact') ) pour avoir un affichage affiné selon la page sur laquelle vous vous trouvez.
Tous les template tags sur le codex WP
Affiche le contenu de l'article ou de la page.
Affiche l'extrait de l'article ou de la page si vous l'avez rempli côté administration.
Affiche les categories (cliquables) rattachées à l'article (s'il s'agit des articles de base) ou à la page.
Affiche le nom de la personne qui a rédigé l'article.
Affiche l'image à la une. Attention, il faut activer cette fonctionnalité dans le fichier functions.php.
Affiche la date de publication de l'article. Attention, si vous avez plusieurs articles sur la homepage (par ex.) et qu'ils ont la même date de publication, la date ne s'affichera qu'une seule et unique fois. Utilisez plutôt the_time() dans ce cas-là.
Affiche l'heure de publication de l'article. Comme les heures sont à chaque fois unique, vous n'aurez pas le même problème qu'avec the_date(). Il vous suffit de passer des paramètres dans the_time() pour l'afficher comme s'il s'agissait d'une "date".
Par exemple : <?php the_time('d-m'); ?> affichera 27-11 - Voir le formattage des dates dans WP
Affiche l'URL permanente d'un lien. À insérer généralement dans l'attribut href d'une balise <a>.
Permet de faire un lien vers la page archive-le_nom_de_votre_type_de_contenu_perso.php. C'est à placer dans l'attribut href de la balise <a>.
Permet de faire un lien vers l'article suivant ou précédent, qu'ils soient dans la même catégorie, ou pas.
%link sert à générer un lien sur ce qui sera mis dans le paramètre suivant.
Le deuxième attribut ('Article suivant') permet de personnaliser le lien, vous pouvez aussi y insérer %title et il affichera le nom de l'article suivant/précédent plutôt que votre texte perso.
Si le 3e paramètre est réglé sur TRUE, alors le next et previous ne fonctionne qu'à l'intérieur d'articles pour lesquels vous avez assigné la même catégorie. Par défaut, est réglé sur FALSE si vous n'indiquez rien.
Permet d'insérer le nom de la page de la catégorie (ou archive) sur laquelle on se trouve. Le paramètre ("Archives pour") permet de faire précéder le nom de la catégorie d'un texte perso.
Ouvre 2 portes pour les extensions que vous installez à partir de Wordpress pour les rendre fonctionnelles. wp_head(); est à placer avant la fermeture de votre </head> et wp_footer(); avant la fermeture de votre balise </body>
Permet d'activer les images à la une côté administration. Pour les appeler côté PHP, utilisez le template tag the_post_thumbnail(); .
add_theme_support( 'post-thumbnails' );
Permet d'ajouter une taille de vignette personnalisée dans Wordpress et de l'utilise avec the_post_thumbnail('nom_de_la_vignette').
add_image_size( 'nom_de_la_vignette', 618, 380, true );
Permet de contrer un problème lier à la génération automatique des attributs HTML width et height sur les balises IMG quand Wordpress les insère côté HTML lui-même.
add_filter( 'post_thumbnail_html', 'remove_width_attribute', 10 );
add_filter( 'image_send_to_editor', 'remove_width_attribute', 10 );
function remove_width_attribute( $html ) {
$html = preg_replace( '/(width|height)="\d*"\s/', "", $html );
return $html;
}
Permet d'activer la gestion des menus par l'interface d'administration de Wordpress. Pour afficher le menu, indiquer wp_nav_menu(); là où vous désirez voir apparaître le menu sur votre site. Attention, ce code génère déjà ul, li et a.
Pour activer la fonction dans le fichier functions.php :
add_theme_support( 'menus' );
Pour afficher votre menu là où vous le désirez :
<?php wp_nav_menu(); ?>
Permet d'activer les widgets pour le thème en cours, de donner un nom à la zone en question et de lui attribuer les widgets désirés. Les widgets permettent d'utiliser des fonctionnalités pré-écrites pour vous par Wordpress comme : les articles récents, un calendrier des publications, un accès aux différentes catégories, les commentaires récents, un nuage de tags mais aussi tout autre plugin que vous aurez installé et qui a prévu un Widget pour Wordpress.
À mettre dans le fichier functions.php :
if ( function_exists('register_sidebar') ) {
register_sidebar(array(
'name' => 'Footer',
'id' => 'footer',
'before_widget' => '<li>',
'after_widget' => '</li>',
'before_title' => '<h3>',
'after_title' => '</h3>',
));
}
À mettre où vous voulez voir apparaître la zone de widget (remplacer 'footer' par l'id indiqué ci-dessus) :
<?php if ( !function_exists( 'dynamic_sidebar' ) || !dynamic_sidebar('footer') ) ?>
Vous permet de créer de nouveaux types de contenu, de nouveaux types de taxonomies (pour qualifier le contenu avec une bibliothèque de termes) et des champs personnalisés. On a très souvent besoin de ce plugin pour un projet.
Pour afficher des images (une ou plusieurs) à partir d'un champ perso de type "image" :
<?php $test = types_render_field("le_nom_systeme_de_votre_champ_perso", array("output" => "html"));
echo $test; ?>
Pour afficher le contenu d'un champ de type "ligne unique" :
<?php echo(types_render_field('le_nom_systeme_de_votre_champ_perso', array())); ?>
Pour n'afficher un bloc HTML que si le champ perso qu'il contient est rempli :
<?php if(types_render_field("le_nom_de_votre_champ", array()) != "") {?>
Votre code html
<?php } ?>
Vous permet de réorganiser et renommer les menus d'administration de Wordpress. Permet aussi de cacher les items dont on n'a pas besoin.
Vous permet de créer et intégrer rapidement des formulaires fonctionnels dans vos pages, vos articles ou n'importe où sur votre site.
Vous permet de réorganiser vos articles sans devoir modifier leur date de publication mais simplement en faisant un drag & drop.
Vous permet de travailler sur votre site en ligne en mettant une page d'attente pour vos utilisateurs.