Notre liste de prestataires rémunérés s'allonge et nous avons décidé de l'organiser par langue. Cela signifie que vous pourrez trouver des prestataires capables de vous aider dans votre propre langue. Il s'avère que les types de publication personnalisés étaient la solution idéale pour cela. Lisez la suite pour découvrir pourquoi.
Notre page de prestataires contient quelques phrases d'introduction, la liste des prestataires et quelques phrases de conclusion.

Nous souhaitons conserver la même structure pour les pages de prestataires, mais avec des prestataires qui parlent chacune des langues. Par exemple, voici la page en japonais :

Elle est construite de la même manière, mais avec un contenu différent.
Une façon de créer ces pages serait d'utiliser des pages WordPress classiques. C'est ce que nous avions jusqu'à hier. Au début, la liste des prestataires ne comptait que deux personnes, sa gestion sous forme de page classique était donc facile.
Aujourd'hui, cette page comprend 8 prestataires et est disponible en 5 langues, son maintien sous forme de pages devient donc un véritable casse-tête. Comme nous voulons que chacune des pages de prestataires traduites n'inclue que certains prestataires (ceux qui parlent cette langue), nous ne pouvons pas simplement envoyer la page en anglais à la traduction. Si nous devions utiliser des pages WordPress classiques, nous devrions expliquer à nos traducteurs quels prestataires inclure dans chaque langue. Cela représente beaucoup de communication et de travail manuel.
Utiliser des types de publication et des champs personnalisés pour créer la liste
Nous sommes donc passés des pages classiques aux types de publication et champs personnalisés. Pour configurer les nouveaux types personnalisés, nous avons utilisé notre extension Types.
Tout d'abord, nous avons créé un nouveau type de publication « contractors » (prestataires). Ensuite, nous avons ajouté les champs pour l'image, l'URL du site, le portfolio et le contact. Voici à quoi ressemble une page de prestataire dans notre interface d'administration WordPress :

N'est-ce pas génial ?
Nous disposons d'un champ distinct pour chaque information. Lorsque nous ajoutons de nouveaux prestataires, nous ne nous soucions pas de la façon dont ils s'affichent sur le site. Il nous suffit de remplir les champs. Un modèle se chargera de les afficher correctement, avec les autres prestataires.
Regardez sur le côté droit de la page, où se trouvent les contrôles de traduction. Vous remarquerez immédiatement que la page de Mana est également disponible en japonais. C'est l'énorme avantage que nous recherchions. Lorsque le contenu est divisé en petits éléments, nous pouvons facilement traduire différentes entrées dans différentes langues.
Afficher les listes de prestataires pour chaque langue
Maintenant que nous avons des entrées de prestataires par langue, nous devons les afficher.
Si vous préférez bricoler avec PHP, vous êtes tout à fait libre d'utiliser l'API PHP de Types. Quand j'ai commencé à modifier la page des prestataires, il était déjà 22 h et je voulais tout terminer avant minuit (et avant que ma femme ne s'énerve de me voir sur le PC). J'ai utilisé notre extension Views pour créer la liste des prestataires, j'ai terminé le travail vers 23 h et il me restait encore une heure libre avant mon couvre-feu :-)
La nouvelle page des prestataires utilise un modèle pour afficher chaque entrée. Le modèle ressemble à ceci :

Je l'ai créé à l'aide d'un modèle de View depuis l'interface d'administration de WordPress. Un modèle de View me permet d'insérer des champs depuis l'interface graphique et de les styliser avec HTML et CSS. C'est comme écrire une page standard, mais avec des shortcodes de champs au lieu de texte statique.
Ensuite, j'ai créé une View pour charger la liste des prestataires et l'afficher. Lorsque vous créez une View, vous lui indiquez quel type de contenu charger, comment le filtrer (dans notre cas, aucun filtrage n'est nécessaire) et comment l'afficher. Nous avons déjà créé un modèle pour un seul prestataire, la View n'a donc qu'à utiliser ce modèle dans la page de liste.
Voici la page des prestataires, montrant le contenu statique au-dessus et en dessous de la liste, ainsi que le shortcode vers la View affichant la liste des prestataires elle-même.

Afficher le bon contenu par langue
Lorsque vous utilisez Views pour afficher du contenu sur des sites multilingues, la sélection de la langue se fait automatiquement. Cela signifie que lorsque vous insérez la View de liste dans une page en anglais, vous obtenez les entrées des prestataires en anglais. Lorsque vous l'insérez dans une page en japonais, vous n'obtenez que les entrées traduites en japonais.
Désormais, pour que certains prestataires apparaissent dans d'autres langues, il nous suffit de traduire leurs entrées. La View chargera les bonnes entrées depuis la base de données et les affichera sur la page.
Résumé
J'ai commencé cet article sur la façon de faciliter la gestion de contenu à l'aide de types de publication personnalisés, puis c'est un peu devenu un mini-tutoriel pour notre extension Views.
Ce qu'il faut retenir ici, c'est que pour toute page de liste, les types de publication personnalisés sont la voie à suivre.
Si vous aimez coder, vous pouvez utiliser l'API de thèmes WordPress pour créer des modèles personnalisés pour votre contenu. Nous aimons coder aussi, mais je manque un peu de temps, j'utilise donc notre extension Views. Views seul coûte 95 $ ou vous pouvez l'acheter dans le cadre de notre paquet Toolset pour 149 $.
Qu'en pensez-vous ? Comment créez-vous des pages de liste ?


