Blog

Comment implémenter des types de publication personnalisés et des champs personnalisés dans WordPress?

WordPress n’est plus seulement limité aux blogs – c’est un système de gestion de contenu complet capable d’afficher et de formater tout type de contenu que vous lui donnez. Parlons donc de deux excellentes façons d’étendre WordPress : les types de publication personnalisés et les champs personnalisés.

Sommaire

Types de publication personnalisés

Il semble que notre site de test, Monday Morning Mug (que nous avons utilisé dans notre article de blog sur l’intégration des e-mails), ait un nouveau problème à résoudre. Notre blog est devenu si grand que nous avons embauché une équipe de révision à plein temps. Ils ont été occupés à préparer du café et à rédiger des critiques. Ils ont publié ces critiques sur le blog, mais nos lecteurs nous ont dit que toutes ces critiques entravent le contenu de notre « vrai » blog.

Nous devons créer un endroit séparé pour nos critiques de café, mais les pages WordPress normales ne suffiront pas. Les critiques ont également suggéré qu’ils aimeraient avoir un endroit pour stocker facilement des informations, telles que le pays d’origine du café et les notes de dégustation, sur le site Web. Cela ressemble à une utilisation parfaite pour un type de publication personnalisé, une fonctionnalité WordPress qui nous permet de créer de nouvelles sections de contenu sur notre site.

Les types de publication personnalisés sont incroyablement flexibles et peuvent être mis en œuvre pour tout type de contenu : les citations, les vidéos et les différentes nuances de peinture sont tous des exemples de ce que pourrait être un type de publication personnalisé.

Nous allons vouloir ajouter une nouvelle section de notre site Web dans la /coffees/ sous-répertoire plein de critiques de café. Cela va nécessiter un peu de code, mais cela devrait être un processus relativement simple.

Remarque : Pour ce faire, vous devez pouvoir modifier les fichiers .php dans votre répertoire d’installation WordPress, ce qui nécessite généralement un accès FTP/SFTP/SSH. Assurez-vous de l’avoir avant de continuer.

Chaque thème WordPress peut utiliser un fichier functions.php, qui se trouve à :
/wp-content/themes/your_current_theme/functions.php

Ce fichier est généralement utilisé pour les modifications de site spécifiques à un thème ainsi que pour les petites modifications de site personnalisées, comme celle que nous sommes sur le point de faire.

Remarque : nous allons ajouter du code au functions.php fichier, ce qui signifie qu’il est spécifique au thème. Si vous l’ajoutez à votre fichier functions.php, puis modifiez le thème de votre installation WordPress, vous supprimerez le type de publication personnalisé de votre site Web. Vous pouvez gérer des types de contenu personnalisés en utilisant un plug-in, tel que Interface utilisateur de type de publication personnalisée.

1. Ouvrez votre fichier functions.php et ajoutez le code suivant en bas du fichier :

function create_new_post_type() {
$labels = array(
'name' 			 => __('Coffee Reviews'),
'singular_name'  => __('Coffee Review'),
);
$args = array(
'labels'      	 => $labels,
'public' 	  	 => true,
'has_archive' 	 => true,
'menu_position'  => 5,
'description'    => 'Reviews And Types of Coffee',
'rewrite'     	 =>
array('slug' => 'reviews'),
'supports'    	 =>
array( 'title',
'comments', 'editor',
'thumbnail', 'custom-fields', 'revisions'),
);

register_post_type('Reviews', $args);
}
add_action('init', 'create_new_post_type');

Parce que nous n’aimons pas particulièrement utiliser du code sans avoir une idée de ce qu’il fait, passons en revue ce que fait ce code.

Remarque : Vous avez peut-être remarqué que $labels et $args sont définis en dehors de register_post_type() fonction même s’ils sont juste passés comme arguments à cette fonction plus tard. Cette méthode facilite l’organisation et la lisibilité, mais vous pouvez condenser les deux tableaux en un seul argument. Ce serait juste plus difficile à comprendre.

La $args array contient toutes les spécificités dont nous avons besoin pour définir notre nouveau type de contenu. Voici ce qu’ils font :

  • ‘labels’ – Un tableau définissant ce que nous appellerons notre type de contenu. Il existe de nombreuses autres étiquettes disponibles que vous pouvez utiliser, et une liste complète est disponible dans la documentation ici.
  • ‘public’ – Un booléen qui définit si la publication est visible ou non en dehors du panneau d’administration.
  • ‘has_archive’ – Si vrai, ce booléen créera une archive de ce type de publications personnalisées, tout comme les publications WordPress standard.
  • ‘menu_position’ – Cet entier change l’emplacement de votre bouton de navigation de publication personnalisé. Le chiffre 5 indique qu’il ira directement sous l’onglet des publications. Pour une liste complète des codes numériques, consultez la même documentation.
  • ‘description’ – Décrit le type de publication.
  • ‘rewrite’ – Cela change le slug en « critiques », ce qui aidera à créer une structure de permalien utilisable. (Peut également être booléen ; consultez la documentation pour plus d’informations.)
  • ‘supports’ – Un tableau définissant quelles fonctionnalités natives d’édition/publication de WordPress sont activées. Celui-ci est assez flexible, et il y a beaucoup plus d’options, mais nous aurons besoin d’au moins custom-fields et editor pour ce poste.

La register_post_type() La fonction est appelée ensuite, ce qui crée un nouveau type de publication appelé Avis en utilisant le tableau d’arguments que nous venons de définir.

Enfin, nous devons appeler une dernière fonction pour terminer le processus. register_post_type() doit toujours être initialisé par l’action ‘init’. Nous pouvons accrocher notre nouvelle fonction à init en appelant

add_action(‘init’, ‘create_new_post_type’);

Impressionnant! Maintenant, si nous nous connectons à notre panneau d’administration WordPress, nous devrions voir un nouvel onglet sur la gauche appelé « Avis ».

coffee_reviews

 

 

2. Maintenant que nous avons configuré les avis en tant que type de publication personnalisé, nous devons mettre à jour la structure du permalien afin que nos lecteurs puissent facilement trouver nos publications. De plus, cela rend nos URL beaucoup plus faciles à lire et conviviales pour le référencement.

 

3. Sous la barre de menu Paramètres -> Permaliens, vous trouverez un tas d’options courantes pour les structures de permaliens. Nous allons modifier le paramètre personnalisé pour qu’il corresponde au champ /%category%/%postname%/

Cela signifie que WordPress générera des URL correspondant à la catégorie et au titre de nos publications.

Remarque : Il s’agit d’un changement à l’échelle du site et affectera vos messages dans d’autres catégories.

permalien_personnalisé

 

Jetons maintenant un coup d’œil à l’URL d’un article que nos critiques ont écrit pour le café Sumatra Ketiara :

sumatra_permalink

Fantastique! Vérifiez cette URL. Nous avons des critiques séparées dans leur propre répertoire et l’URL est écrite en anglais simple. Désormais, nos lecteurs savent exactement ce qu’ils obtiendront lorsqu’ils cliqueront sur un lien.

Les champs personnalisés

Bien que nos critiques adorent la nouvelle section Review, ils nous ont demandé d’incorporer quelque chose à l’arrière qui leur permet d’entrer des informations communes qu’ils écrivent sur chaque café, comme le pays d’origine et les notes de dégustation. Cela ressemble à l’utilisation parfaite des champs personnalisés, qui, heureusement, sont très faciles à mettre en œuvre.

1. Sur un éditeur de révision individuel, vous verrez le bouton des options d’écran dans le coin supérieur droit de l’éditeur :

screen_options

qui s’étend à ceci lorsqu’on clique dessus :

screen_options_dropdown

2. Cochez la case Champs personnalisés.

Sous l’éditeur, vous verrez la case Champs personnalisés que nous venons d’activer.

custom_fields_blank

3. Vous pouvez taper n’importe quoi dans les deux cases ; tout ce que vous tapez et ajoutez dans le champ Nom sera enregistré pour une utilisation ultérieure. Ici, nous énumérons la région et le pays d’où provient notre café.

custom_fields_region

Les champs personnalisés facilitent incroyablement la normalisation des données importantes pour une catégorie dans chaque publication dans un endroit séparé. Il ne nous reste plus qu’à obtenir ces informations à afficher sur notre examen.

 

4. Nous allons ajouter cette balise de code à l’un de nos documents thématiques :

<br /><?php the_meta(); ?><br />

Remarque : Dans cet exemple, nous allons mettre cette balise dans notre fichier content.php, mais vous devrez trouver un emplacement approprié pour votre table de valeurs. Vous devez également styliser cette balise pour qu’elle corresponde au reste de votre thème, que vous pouvez en savoir plus ici.

En revenant sur notre blog, nous pouvons voir que notre balise a inséré une liste dans notre avis.

exemple_champ_personnalisé

 

Parfait! Maintenant, nos lecteurs et nos critiques sont tous les deux heureux. Nous avons pu créer un type de publication personnalisé qui nous a permis d’enregistrer des avis sur le café, et nous avons pu donner à nos examinateurs un endroit pour stocker toutes leurs informations importantes pour chaque avis différent.

À VOIR:   Pourquoi vous ne devriez jamais modifier le noyau de WordPress?

Articles similaires

Bouton retour en haut de la page