par

Que mettre dans les plugins et le thème

Le contenu projet est toujours à placer dans le dossier WP-CONTENT et c’est le seul dossier qui ne sera pas sujet à modifications lors d’une mise à jour de WordPress.
https://codex.wordpress.org/Updating_WordPress#Manual_Update
wp-content/ contient notamment les dossier themes qui contiendra notre thème projet, plugins et uploads. Il est également possible d’y ajouter un dossier mu-plugins qui permet d’ajouter des plugins « must-use » et qui seront chargés ainsi de manière automatique par WordPress et dépourvu de mécanisme d’activation / désactivation. C’est en général à cet endroit que l’on retrouvera la majeure partie de la « logique » projet et tout ce qui ne concerne pas directement la template hierarchy.

Et pour communiquer entre les modèles (par exemple des custom post type https://codex.wordpress.org/Post_Types) et les vues on privilégiera la mise en place de hook personnalisés :

<?php

// mu-plugins/mon-post-type.php

add_action(‘after_post_content’,’display_share_button’);

function display_share_button(){

echo ‘sharebutton’;

}

// montheme/single-mon-post-type.php

the_content();

do_action(‘after_post_content’);

Pour bien comprendre l’utilisation de « hook » personnalisés, la lecture du code source de WooCommerce est très instructive. Notamment le dossier templates. A noter que les hooks sont tout aussi indispensables lorsqu’il s’agit d’interagir avec un plugin tiers. Et là encore, le plus simple sera de coder ses interactions dans le répertoire mu-plugins.

Rappel concernant les Custom Post Type (CPT)

Le recours au CPT est indispensable pour pouvoir gérer des contenus qui ne seraient pas compatibles avec les « types » natifs que sont les articles et pages.

Pour rappel, les pages sont à privilégier utiliser pour des contenus froids et potentiellement hiérarchiques : une page à propos, un formulaire de contact, la présentation d’une activité, une arborescence de services etc..

Les articles sont à privilégier pour des contenus chauds non hiérarchiques mais potentiellement thématisés grâce aux « taxonomies » étiquettes et catégories.

Grâce aux template de page, désormais disponible également pour les articles (et les CTP), il est possible de charger des fichiers PHP différents en fonction de choix de l’utilisateur (ou du développeur) https://developer.wordpress.org/themes/template-files-section/page-templates/, la décision de créer un custom post type ne doit donc pas être guidé uniquement par le besoin de disposer d’un template / look différent.

Par exemple, il ne serait pas utile de créer un custom post type pour quelques offres d’emploi sur un site corporate disposant seulement de quelques offres d’emploi. En revanche, il serait tout à fait justifier pour une entreprise dont l’activité principale serait le recrutement. Dans le premier cas, une catégorie d’article « recrutement » serait amplement suffisante,  dans le second cas, le custom post type permettrait par exemple d’ajouter des « taxonomy » comme le type de contrat, le secteur d’activité etc…

Organisation possible DU REPERTOIRE MU-PLUGINS

/post-type/loader.php

/post-type/includes/class.register.post.type.php

/post-type/includes/class.admin.post.type.php

/post-type/includes/class.front.post.type.php

/forms/gravityform.hook.php

/acf/acf.create.fields.php

/loader.php

etc…

https://codex.wordpress.org/Must_Use_Plugins

Ecrire un Commentaire

Commenter