Guides en français pour créer un site Wordpress, Prestashop – Tutoriels LWS

Comment créer un type de publication personnalisé WordPress ?

Comment créer un type de publication personnalisé WordPress

Vous souhaitez créer un type de publication personnalisé WordPress ? Vous êtes au bon endroit ! C’est un excellent moyen d’organiser votre site Web si vous lancez plusieurs types de contenu en même temps.

Objectif

Dans ce tutoriel, vous apprendrez comment créer un type de post personnalisé WordPress en développant un plugin spécifique au site.

Qu’est-ce qu’un type de publication personnalisé WordPress ?

WordPress fournit quelques types de posts par défaut. À petite échelle, ils couvrent très bien le sujet de votre blog. Cependant, ils pourraient ne pas être suffisants lorsque votre contenu devient plus diversifié.

C’est là que le type de publication personnalisé de WordPress entre en jeu. En bref, il s’agit d’un type d’article supplémentaire que vous créez en fonction de vos besoins. Grâce à lui, vous serez en mesure de regrouper vos articles de manière plus spécifique.

La création d’un type de post personnalisé dans WordPress est plus efficace que l’attribution de catégories à vos articles. C’est parce que la catégorisation des articles les place sur la même liste, généralement dans la section Post. Le problème est que si vous avez plus qu’un vaste sujet, il vous sera difficile d’en garder la trace.

Que pouvez-vous personnaliser avec ce type de publication ?

Lorsque vous créez un nouveau type d’article, vous avez plusieurs options de personnalisation. Vous pouvez choisir où le menu apparaît dans la zone d’administration, si ce type d’article est inclus dans les résultats de recherche, s’il prend en charge les extraits, si les commentaires sont autorisés, etc.

Ce qui est génial, c’est que vous pouvez également modifier divers éléments de texte, comme renommer « Ajouter » en « Ajouter un article », remplacer le texte « Image mise en avant » par « Ajouter une image », et la liste est longue.

De plus, le type de post personnalisé de WordPress vous permet d’activer la fonction de champ personnalisé dans l’éditeur de post. Grâce à cela, il est possible de fournir plus de détails sur votre contenu.

Jetez un coup d’œil à notre exemple de type de post personnalisé. Outre le fait que le contenu principal soit un article, vous avez la possibilité d’ajouter des champs personnalisés pour des informations telles que l’auteur, la durée de la visite, etc.

Cependant, tous les champs personnalisés que vous créez sont disponibles sur tous les types de Posts. Par conséquent, un plugin est nécessaire pour limiter un champ spécifique à n’apparaître que pour un certain type de Post. Vous découvrirez comment le faire plus tard, alors continuez à lire.

Les éléments d’un type de publication personnalisé WordPress

Pour commencer, découvrez comment écrire une nouvelle fonction qui appelle la fonction register_post_type(). Elle doit être accompagnée de deux paramètres :

Enfin, toutes les fonctions personnalisées doivent être préfixées pour éviter les conflits avec d’autres plugins ou fonctions du thème. Pour les rendre uniques, nous utiliserons les initiales de Tutoriels LWS pour cet exemple : « tl ». 😉

Le code initial pour ajouter un nouveau type de post personnalisé doit ressembler à ceci :

// La fonction personnalisée doit être liée au hook de l'action init. 
  add_action( 'init', 'tl_article_personnalise' ) ; 
// Une fonction personnalisée qui appelle register_post_type 
  function tl_article_personnalise() { 
// Définissez divers éléments de texte, $labels est utilisé dans le tableau $args. 
  $labels = array(     
     name' => _x(Articles personnalisés'),
     'singular_name' => _x( ' Article personnalisé'),
     ...   
   ) ; 
// Définir diverses informations sur le type de post 
  $args = array(    
    'labels' => $labels,
    'description' => 'Mon article personnalisé',
    'public' => true,    
    ...   
   ) ; 
// Enregistrer le post type avec toutes les informations contenues dans le tableau $args register_post_type( 'article', $args ) ; 
   }

Comme les variables $args et $labels sont toutes deux des tableaux, il est préférable d’écrire d’abord la variable $labels, puis la variable $args. Une fois que c’est fait, vous pouvez enregistrer le code.

Maintenant, vous découvrirez les tableaux $args et $labels que seront utilisés pour personnaliser le type de publication personnalisé de WordPress.

Le tableau $args

$args est l’abréviation de l’argument et cette variable est utilisée pour contenir des tableaux. Un tableau, d’un autre côté, est une structure de données qui stocke les éléments d’un objet (WordPress custom post type).

Il y a beaucoup de tableaux dans $args, mais seulement, ceux qui sont les plus couramment utilisés seront abordés ici. Gardez à l’esprit, cependant, qu’ils sont tous optionnels.

Le tableau $labels

Le premier tableau de la variable $args est $labels. Ce qui est unique, c’est qu’il est fait pour contenir d’autres tableaux. Il est donc crucial de créer une variable nommée $labels pour contenir toutes les paires clé-valeur dans une section séparée. Cela permet de réduire le risque d’écrire un code incorrect et de rendre la fonction un peu plus propre.

Vous trouverez ci-dessous quelques-unes des clés les plus importantes pour le tableau $labels :

Le tableau $supports

L’une des clés du tableau $args est supports. C’est un tableau simple dans lequel vous écrivez la liste des fonctionnalités de l’éditeur d’articles que vous souhaitez activer pour votre type de publication personnalisé WordPress. Par défaut, seuls le titre et l’éditeur sont activés.

Cependant, vous pouvez aussi écrire FALSE au lieu d’un tableau. En faisant cela, vous désactiverez toutes les fonctionnalités d’édition des articles, y compris le titre et la zone de contenu. De cette façon, les articles ne peuvent pas être édités mais ils sont toujours entièrement visibles.

Voici la liste des fonctionnalités de l’éditeur de posts que vous pouvez activer dans le tableau des supports :

Créer un type de publication personnalisé WordPress avec un plugin

Pour créer un type de publication personnalisé WordPress, vous pouvez soit créer un plugin spécifique au site, soit télécharger un plugin classique, soit modifier votre fichier functions.php.

La troisième méthode n’est pas recommandée car les données de votre type de publication personnalisé peuvent être écrasées après une mise à jour du thème. La deuxième méthode n’est pas non plus fiable car vos données disparaîtront une fois que vous aurez désactivé l’outil.

Par conséquent, il convient de procéder avec la première option, construire un plugin spécifique au site. Il s’agit essentiellement d’un outil personnalisé que vous pouvez créer vous-même pour des tâches spécifiques.

Ce qui est génial, c’est que vous pouvez conserver les données même si vous décidez de mettre à jour votre thème ou de désactiver le plugin. Il est également très personnalisable. 👍

Cependant, cette méthode peut être un peu technique. C’est pourquoi, pour vous aider à démarrer, il est recommandé de lire également notre tutoriel sur l’installation de plugin WordPress.

Maintenant que vous savez quels éléments sont nécessaires pour la fonction, vous pouvez construire notre plugin, écrire les fonctions personnalisées, et les accrocher au hook de l’action init.

Voici à quoi devrait ressembler le code pour un type de publication personnalisé complet :

<?php
/*
Plugin Name: Mon article personnalisé
Description: Ajouter des types de post pour les articles personnalisés
Author: LWS Dev
*/

add_action( 'init', 'tl_article_personnalise' );

// La fonction personnalisée pour ajouter un type d'article personnalisé
function tl_article_personnalise() {

// Définir les labels, cette variable est utilisée dans le tableau $args
$labels = array(
'name'               => __( 'Articles personnalisés' ),
'singular_name'      => __( 'Article personnalisé' ),
'add_new'            => __( 'Ajouter un article personnalisé' ),
'add_new_item'       => __( 'Ajouter un article personnalisé' ),
'edit_item'          => __( 'Modifier l’article' ),
'new_item'           => __( 'Ajouter un article' ),
'all_items'          => __( 'Tous les articles personnalisés' ),
'view_item'          => __( 'Voir l’article' ),
'search_items'       => __( 'Rechercher un article' ),
'featured_image'     => 'Image',
'set_featured_image' => 'Ajouter une image'
);

// Les arguments pour le type de post, 2ieme paramètre de la fonction register_post_type()
$args = array(
'labels'            => $labels,
'description'       => ' Mon article personnalisé',
'public'            => true,
'menu_position'     => 5,
'supports'          => array( 'title', 'editor', 'thumbnail', 'excerpt', 'comments', 'custom-fields' ),
'has_archive'       => true,
'show_in_admin_bar' => true,
'show_in_nav_menus' => true,
'query_var'         => true,
);

// Appel de la function register_post_type de WordPress
register_post_type( 'article', $args);
}

Pour transformer ce code en plugin, suivez les étapes ci-dessous :
1- Tout d’abord, ouvrez un éditeur de texte sur votre ordinateur. Copiez et collez le code.

2- Enregistrez-le comme un fichier PHP. Pour cet exemple, vous allez le nommer « mon-article-personnalise.php ».

3- Naviguez dans « public_html -> wp-content -> plugins ». Créez-y un nouveau dossier portant le même nom que votre plugin et téléchargez-y votre fichier PHP. Utilisez le gestionnaire de fichiers intégré à votre espace client ou un client FTP tel que FileZilla pour télécharger le dossier.

4- Ensuite, connectez-vous à votre tableau de bord WordPress et allez dans le menu Plugins. Vous verrez votre plugin nouvellement installé. Enfin, activez-le. Il y aura un nouveau type d’article, appelé «Articles personnalisés».

Félicitations, vous venez d’installer un plugin spécifique pour créer un type de publication personnalisé WordPress ! 😎

Personnalisation du nouveau type de publication

Pour commencer à personnaliser vos nouveaux types d’articles, il vous suffit de télécharger deux fichiers modèles correspondants dans le répertoire principal de votre thème. Les noms de ces fichiers modèles doivent ressembler à ceci :

La partie {post-type} des noms de fichiers doit être le nom du premier paramètre de register_post_type(). Dans cet exemple, les noms de fichiers doivent être single-article.php et archive-article.php.

Si vous ne créez pas de modèles, WordPress utilisera single.php et archive.php à la place, ce qui permet de garder tous vos articles et archives identiques.

Ceci étant dit, la meilleure façon de commencer est de dupliquer single.php ou archive.php et de les renommer comme ci-dessus. De cette façon, la structure globale est identique à celle du reste de votre thème et toutes les balises de modèle requises sont déjà en place. Ainsi, il sera plus facile pour vous de styliser le modèle plus tard.

Voici comment télécharger les fichiers de votre modèle :

1- Une fois que vous avez accès au gestionnaire de fichiers ou logiciel FTP de hébergement web, localisez le dossier de votre thème actuellement actif /public_html/wp-content/themes/votre-theme.

2- Copiez les fichiers single.php et archive.php et collez-les en dehors de ce répertoire.

3- Renommez-les single-article.php et archive-article.php. Ensuite, déplacez-les à nouveau dans le dossier de votre thème.

4- Répétez les deuxième et troisième étapes pour les autres modèles de type de post personnalisé.

Une fois que les fichiers des modèles ont été téléchargés, il est temps d’afficher les types d’articles personnalisés WordPress sur la page d’accueil.

Affichage des types d’articles personnalisés sur la page d’accueil

Les types de publications personnalisés ne sont pas affichés sur la page d’accueil par défaut. C’est pourquoi vous devez écrire une nouvelle fonction qui appelle la méthode set de l’objet WP_Query de WordPress. Jetons d’abord un coup d’œil à la structure du code :

// Afficher les types de publications personnalisés sur la page d'accueil 
  add_action( 'pre_get_posts', 'add_article_to_frontpage' ) ; 
// Modifiez la requête principale 
  function add_article_to_frontpage( $query ) { 
  if ( is_home() && $query->is_main_query() ) { 
  $query->set( 'post_type', array( 'post', 'article' ) ) ; 
} 
return $query ; 
}

Dans cette fonction, $query->set() prend deux paramètres :

Le premier est la propriété que vous voulez changer. Ici il faut changer le post_type.

Le deuxième paramètre est le tableau que vous voulez comme valeur de la propriété post_type (post et article).

Comme vous pouvez le constater, le tableau commence par « post ». Cela s’explique par le fait qu’il s’agit du type d’article par défaut dans WordPress et que vous voulez toujours l’inclure sur la page d’accueil. Si vous souhaitez uniquement afficher les articles personnalisés sur la page d’accueil, vous pouvez le supprimer.

Dans cet exemple, vous allez ajouter « article » au tableau, ce qui signifie que la page d’accueil affichera tous les articles classiques et tous les articles personnalisés.

Pour ce faire, vous pouvez coller le code dans le fichier de fonctions de votre thème (functions.php) ou dans le plugin spécifique au site que vous avez créé. Encore une fois, pour éviter toute perte de données, il faudra utiliser la deuxième option.

1- Accédez à nouveau aux fichiers de votre site et allez dans le dossier de votre plugin spécifique au site (/public_html/wp-content/plugins/mon-article-personnalise).

2- Ouvrez le fichier PHP. Ensuite, copiez le code de la page précédente et collez-le au bas du fichier.

3- Enregistrez vos modifications.

Ajout et affichage d’un champ personnalisé WordPress

Une fois que vous avez créé un nouveau type de publication personnalisé WordPress, vous voudrez peut-être ajouter un champ personnalisé afin de pouvoir fournir plus de détails sur votre contenu.

Il y a deux façons de le faire, en utilisant le champ personnalisé par défaut de WordPress ou un plugin et chacun a ses propres avantages et inconvénients.

Utilisation du champ personnalisé par défaut de WordPress

WordPress fournit un outil intégré pour ajouter un champ personnalisé. Ce qui est génial, c’est qu’il est assez facile à utiliser.

1- Le champ personnalisé de WordPress est caché par défaut. Par conséquent, vous devez l’activer à partir de « Options de l’écran » dans l’éditeur d’article.

2- Une fois activé, vous verrez une section « Champs personnalisés » sous l’éditeur, où vous pouvez entrer le nom et sa valeur. Lorsque vous avez terminé, cliquez sur le bouton « Ajouter un champ personnalisé ».

Malheureusement, les champs personnalisés ne s’affichent pas par défaut sur le front-end de votre page. Pour les rendre visibles, vous devez insérer la fonction the_meta() ou echo get_post_meta() dans le fichier du thème qui est responsable de l’affichage de vos articles.

Maintenant que vous avez deux types d’articles, vous pouvez modifier single.php ou single-article.php. Cela dépend de l’endroit où vous voulez placer le champ personnalisé.

Disons que vous voulez ajouter un champ personnalisé « Auteur » pour les articles personnalisés. Vous devrez entrer un code dans single-article.php. Voici les étapes :

1- Depuis votre tableau de bord WordPress, allez dans Apparence -> Editeur de thème -> singe-article.php.

2- Localisez la boucle de WordPress et trouvez cette ligne.

get_template_part( 'template-parts/content', 'single' );

 

3- Collez l’un des extraits de code suivants dans le fichier, sous cette ligne.

4- Après cela, cliquez sur Mettre à jour le fichier.

Si vous visitez votre site Web, vous verrez le champ personnalisé « Auteur » en dessous de l’article.

 

Limiter les champs personnalisés à un type de publication spécifique via un plugin

Bien qu’il soit simple à utiliser, l’ajout de champs personnalisés directement depuis WordPress n’est pas nécessairement la meilleure option. En effet, une fois que vous avez ajouté un champ personnalisé, il sera disponible pour tous les types d’articles. Cela peut rendre difficile de trouver le champ dont vous avez besoin pour un type d’article spécifique.

Par conséquent, vous pouvez essayer le plugin Advanced Custom Fields. Il limite certains champs personnalisés afin qu’ils ne soient sélectionnables que sur un type de post choisi. Voici comment utiliser cet outil :

1- Sur dans votre tableau de bord WordPress, allez dans le menu « Extensions » et sélectionnez « Ajouter ». Tapez Advanced Custom Field dans la barre de recherche. Installez le plugin.

2- Il y aura un nouveau menu sur votre barre latérale appelé « ACF ». Pour ajouter un champ personnalisé, cliquez sur le bouton Ajouter nouveau. Vous devrez entrer plusieurs détails importants, tels que :

3- Une fois que vous avez terminé, cliquez sur « Fermer le champ ». Maintenant, pour limiter ce champ personnalisé à un type de publication spécifique, rendez-vous dans les paramètres d’emplacement du plugin Advanced Custom Field.

4- Une fois terminé, n’oubliez pas de cliquer sur Publier pour enregistrer votre changement.

Puisque ce champ est créé via un plugin, vous devez utiliser les fonctions de ce plugin pour l’afficher. Ces étapes pour insérer la fonction sont similaires à celles du champ personnalisé WordPress par défaut. La seule différence est que vous devez entrer le code the_post( 'key' ) ; à la place.

Conclusion

Le type de publication personnalisé de WordPress est la solution parfaite pour organiser votre site web, surtout s’il se concentre sur plus d’un sujet. 😁 Vous aurez le pouvoir de diviser votre contenu en fonction des informations qu’ils contiennent. Avec un peu de connaissances de WordPress et de PHP, vous pouvez facilement suivre toutes les étapes vous-même.

N’oubliez pas de laisser un commentaire ci-dessous si vous avez des questions !

Quitter la version mobile