Dans Salient, par défaut, il n’est pas possible de créer des modèles de page pour nos CPT. Donc, nos réalisations devaient toutes êtes des fiches individuelles, ce qui compliquait la tâche lors de changements de design, car on devait aller dans chaque fiche (FR et EN) pour faire les changements. Avec un modèle de page, on évite ce problème. La particularité par rapport à un modèle de page comme sur un site Impreza, c’est qu’il est codé à bras dans un fichier PHP dans le dossier du child theme, qui s’intitule “single-realisations.php”. Ce fichier est dans le child theme pour éviter que le contenu soit wipé lors d’une mise à jour du thème. Il ne doit pas changer de nom, car sinon WordPress ne le reconnaîtra plus comme modèle de page pour le custom post type Réalisations.
LAYOUT
Pour bâtir le layout qui sera utilisé dans le « modèle de page », il y a une fiche dans Portfolio qui s’intitule « Template Réalisation ». On y retrouve surtout des rangées avec des blocs de texte qui contiennent des shortcodes (qui correspondent au nom des champs ACF). Une fois le layout désiré achevé, visualiser le code dans le « mode Classique » (et non « Éditeur de l’administration », comme pour bâtir les rangées) et le copier (conseil: copier juste la partie du code qui a changé). Tu vas aller coller ce code dans le fichier “single-realisations.php”, entre les single quotes de « $content = ‘’ ». Comme le code déjà présent est formaté de manière à être plus facilement lisible, il est inutile de recopier tout le code. Dans le mode classique, tu peux simplement localiser l’endroit où les modifications ont été apportées et copier/coller cette partie uniquement. ATTENTION: pour les titres hardcodés (ex: h2) qui doivent être traduits, il faut d’abord les mettre dans la balise de titre appropriée (car ces balises ne sont pas représentées dans le code du mode classique) et mettre le titre entre square brackets comme suit:
<h2>[wpml-string context=”salient” name=”le_mandat”]Le mandat[/wpml-string]</h2>
Cela rendra la string traduisible dans WPML. Pour les titres qui contiennent des apostrophes, il faut écrire l’apostrophe comme suit: ' Exemple:
<h2>[wpml-string context=”salient” name=”decouvre_dautres_projets”]Découvre d'autres projets[/wpml-string]</h2>
Il est bien important de faire les modifications de code à l’intérieur des single quotes de « $content = ‘’ », car le reste sert à faire afficher le contenu entre ces single quotes ainsi que le footer du site (la global section avec le id 335):
// Process and output the content with proper shortcode handling
echo do_shortcode(wpautop($content));
echo do_shortcode(‘[nectar_global_section id=”335″]’);
endwhile;
CSS
Pour appliquer le CSS au layout, il y a un fichier qui s’appelle « realisations-style.css ». Pour être certain que le style ne s’applique qu’aux éléments du layout de « single-realisations.php », précéder les classes par celle-ci: ”.single-realisations”, exemple:
.single-realisations .paragraphe_mandat a:hover {
text-decoration: underline;
}