Transformez WordPress en vrai CMS avec les « Custom Post Type »

Transformez WordPress en vrai CMS avec les « Custom Post Type »

Pour transformer WordPress en CMS, utilisez la fonctionnalité des « Custom Post Types », ou « Modèles personnalisés de contenu »: je vous apprends à quoi elle sert et comment vous en servir.

WordPress n’est pas un système de gestion de contenu (CMS) classique: c’est un moteur de blog. Quelle est la différence entre les deux ?

C’est très simple.

Un CMS permet de gérer n’importe quel type de contenu tandis qu’un moteur de blog ne permet de gérer que les types de contenus propres à un blog: c’est-à-dire les pages et les articles. Vous vous demandez peut-être ce qu’un site pourrait bien avoir de plus que des pages ou des articles ?

Je vais vous donner quelques exemples:

  • Un forum aura besoin de gérer des sujets (topics)
  • Un site de petites annonces gèrera des annonces!
  • Un site de rencontre ou un réseau social, gèrera des profils de personnes et des messages.
  • Un annuaire gèrera des sites web.
  • Un site de streaming gèrera des vidéos et des chaînes
  • etc…

Comme vous le voyez, tous ces contenus sont différents: un message regroupe par exemple un « intitulé », un « corps », un « destinataire » et un « expéditeur ». Tandis qu’une petite annonce aura un « intitulé », un « corps », un « prix » et un « numéro de téléphone de contact ».

La structure en base de données n’est donc pas la même pour stocker les informations d’un type de contenu ou d’un autre.

Mais…créer un forum avec WordPress est pourtant possible!

Heureusement! Grâce aux plugins, de nouvelles fonctionnalités peuvent être ajoutées à WordPress, ce qui rend ce moteur de blog aussi puissant qu’un CMS classique (comme Joomla), tout en lui conservant sa grande simplicité d’utilisation. Le meilleur des deux mondes!

Pourquoi ajouter un nouveau type de contenu dans WordPress ?

Pour vous donner un exemple concret, je vais reprendre le cas que j’ai rencontré en développant le site de la cave à bières « La Cane Bière ».

Pour les besoins de ce site, je devais créer une carte des bières.

custom post type

Chaque bière a un « nom », peut-être triée par son « pays d’origine » et classée selon son « type de bière » (blonde, brune…).

Cette structure ressemble à celle des articles: les articles possèdent en effet un « titre », ils peuvent être triés par « mot-clef » et classés dans des « catégories ».

Ce site possédant déjà un blog, je ne pouvais détourner le système des articles pour y rentrer mes bières… Ni une, ni deux, j’ai su qu’il me faudrait créer un type de contenu « bière » calqué sur le type « article ».

Ca tombe bien, c’est exactement ce que propose les « Customs Post Types » (ou « Modèles personnalisés de contenu »).

Comment créer un nouveau type de contenu avec les « Customs Post Types »

Le code est assez long et peut paraître impressionnant: mais rassurez-vous, il n’est pas difficile à utiliser. Je vous ai écris des commentaires pour vous y aider.

Tout d’abord, je vais créer le nouveau type « bière », calqué sur « article ».

Placez ce code dans le fichier functions.php de votre thème.
/* on utilise le hook "init" (en particulier dans un thème enfant) */
add_action('init', 'my_custom_init');
function my_custom_init()
{
	/* ici je créé un tableau avec tous les labels qui apparaîtront en back-office */
	$labels_beer = array(
	  'name' => 'Nos Bières',
	  'singular_name' => 'Bière',
	  'all_items' => 'Toutes les bières',
	  'add_new' => 'Ajouter une bière',
	  'add_new_item' => 'Ajouter une nouvelle bière',
	  'edit_item' => 'Editer une bière',
	  'new_item' => 'Nouvelle bière',
	  'view_item' => 'Voir la bière',
	  'search_items' => 'Rechercher une bière',
	  'not_found' =>  'Aucune bière',
	  'not_found_in_trash' => 'Aucune bière dans la corbeille',
	  'menu_name' => 'Nos Bières'
	);

	/* Puis je créé le type "bière" */
	register_post_type(
		'nos-bieres',		/* slug */
		array(
		  'label' => __('Bières'),
		  'labels' => $labels_beer,
		  'public' => true,
		  'show_ui' => true,
		  'capability_type' => 'post',		/* indique si on se claque sur le modèle "Article" (post) ou "Page" (page) */
		  'has_archive' => 'nos-bieres',	/* slug pour les pages d'archives */
		  'hierarchical' => false,			/* Affiche la liste déroulante "Parent" (uniquement pour les types calqués sur le modèle "Page") */
		  'supports' => array('title', 'editor', 'thumbnail', 'custom-fields')
		));
}

Ensuite je vais créer la taxonomie: les « pays » calqués sur les « mots-clefs » (c’est à dire, une taxonomie non-hiérarchique).

register_taxonomy( 'pays', 'nos-bieres', array(
	'hierarchical' => false, 	/* On se calque sur une taxonomie non-hiérarchique comme les mots-clefs */
	'labels' => array(
	    'name' => __( 'Pays'),
	    'singular_name' => __( 'Pays'),
	    'search_items' =>  __( 'Rechercher un Pays' ),
	    'popular_items' => __( 'Les plus utilisés' ),
	    'all_items' => __( 'Tous les Pays' ),
	    'parent_item' => null,
	    'parent_item_colon' => null,
	    'edit_item' => __( 'Editer un Pays' ),
	    'update_item' => __( 'Modifier un Pays' ),
	    'add_new_item' => __( 'Ajouter un Pays' ),
	    'new_item_name' => __( 'Nouveau nom de Pays' ),
	    'separate_items_with_commas' => __( 'UN SEUL pays par bière' ),
	    'add_or_remove_items' => __( 'Ajouter ou enlever un pays' ),
	    'choose_from_most_used' => __( 'Choisir parmi les pays les plus utilisés' ),
	    'menu_name' => __( 'Pays' )
	  ),
    'show_ui' => true,
    'update_count_callback' => '_update_post_term_count',
	'query_var' => true,
	'rewrite' => array(
		'slug' => 'pays', 		/* Le slug */
		'with_front' => false
	)
) );

Et enfin, les « types de bières » calqués sur les « catégories » (c’est à dire, une taxonomie hiérarchique).

register_taxonomy('type', 'nos-bieres', array(
	'hierarchical' => true,		/* On se calque sur une taxonomie hiérarchique comme les catégories */
	'labels' => array(
		'name' => __( 'Types'),
		'singular_name' => __( 'Type'),
		'search_items' =>  __( 'Rechercher un Type' ),
		'all_items' => __( 'Tous les Type' ),
		'parent_item' => __( 'Type Parent' ),
		'parent_item_colon' => __( 'Type Genre:' ),
		'edit_item' => __( 'Editer un Type' ),
		'update_item' => __( 'Modifier un Type' ),
		'add_new_item' => __( 'Ajouter un Type' ),
		'new_item_name' => __( 'Nouveau nom de Type' ),
		'menu_name' => __( 'Type' ),
	  ),
	'show_ui' => true,
	'query_var' => true,
	'rewrite' => array(
		'slug' => 'type-de-bieres', 		/* Le slug */
		'with_front' => false
	)
));

Le résultat final dans l’interface d’administration

custom post type

cms wordpress, développeur, transformer wordpress en cms, tutoriel, webmaster

A propos de MarieEve Louvel

Depuis 3 ans, je partage mes connaissances sur ce blog, pour les entrepreneurs désireux de créer leur site vitrine et/ou leur blog professionnel avec WordPress. Mon expérience professionnelle va de l'accompagnement à la formation, en passant par de la création de site ou de logiciel. Retrouvez mes cours en ligne sur mon site FeelWeb Formation [http://feelwebformation.com]

64 commentaires

  1. Hello Marie-Eve,

    Bravo pour cet article qui permet d’aller un peu plus loin dans la personnalisation de WP.

    C’est notamment parce que je ne connais pas cette partie que j’ai choisi de développer mes propres sites répondant à mes besoins spécifiques mais avec ce que tu présentes j’avoue que je pourrais me laisser tenter pour aller plus loin sur certains sites qui tournent sous WP.

    Une fois qu’on maitrise ce type de code alors tout est possible :)

    Xavier

    Répondre
    • Salut Xavier,

      C’est vrai que sans cette fonctionnalité, WordPress serait bien pauvre. Comme tu vois, c’est assez facile à mettre en place. Par contre, il faut encore bien comprendre le jeu des custom-templates qui sont mobilisés derrière (pour les custom-tag, es custom-catégorie…ya plein de template en plus!) pour maîtriser complètement le système. Et tout devient possible! :)

      Répondre
      • Bonjour je suis à la recherche d’un plugin et vous allez peut être pouvoir m’aider dans ma recherche ^^ Connaissez vous une extension qui permet à des personnes d’écrire un article sans passer par la tableau d’administration wordpress ? Bonne journée ^^

  2. Voila ce que l’on appelle un tuto clair et bien réalisé, j’avais déjà eu l’occasion de tester les custom posts lorsque j’avais acheté certains thème complets. Mais je comprend bien mieux le fonctionnement après avoir vu votre billet. Par contre dans ces thèmes je ne me souvenais pas que cela créait une nouvelle rubrique dans la partie administration de WordPress.

    Cela prouve une fois de plus que wordpress n’est vraiment pas q’un simple outil de blog et qu’il peut être particulièrement puissant pour celui qui sait bien l’utiliser.

    Encore merci pour le tutoriel

    Répondre
  3. merci marie pour tes articles interessant !
    je voulais te demander un petit service ; je dois regler un petit probleme de changement de php (changer la version du php vers le php 5) il m’ont demadé de faire un fichier .htaccess pour ça ,mais je ne sais si je dois lui donner l’extention php ou text ,et je ne sais pas aussi ou le mettre est ce que dans www ou dans un autre fichier .
    j espère ne pas t’enuiyer avec ma demande . merci et bonne continuation

    Répondre
    • le fichier « .htaccess » n’a PAS d’extension…
      il doit simplement être précédé du  » . « …

      donc faut simplement l’envoyer sur ton serveur (via FTP) et vefifier que son nom soit vraiment  » .htaccess  »

      pour ce qui est d’indiquer du PHP5 (si tu es chez OVH) il te suffit de mettre la ligne suivante:

      SetEnv PHP_VER 5

      (ou SetEnv PHP_VER 5_3 etc…) suivant la version qu’il te faut…

      Par contre attention… si tu a déjà un fichier .htaccess sur ton site, ne l’écrase pas… ajoute y la ligne.

      ce fichier (dans ton cas) est a placer dans le dossier « root » de ton site…

      Répondre
  4. Réponse @mohammed

    Bonjour,

    Le fichier .htaccess est un fichier spécifique qui donne des informations au serveur Apache comme… la version de php à utiliser.

    Il n’a pas d’extension particulière. Il se nomme .htaccess.

    Dans ton cas, tu dois le placer directement dans le dossier www.

    Attention, dans les systèmes Unix, Linux ou Mac, un . devant un fichier le rend invisible (c’est fait exprès).

    Donc, tu crées ce fichier comme un simple fichier texte brut (txt) que tu peux appeler htaccess.txt et sans le point devant.

    Tu mets dedans les informations nécessaires puis tu le transfères dans le dossier www par ftp. Ensuite, tu le renommes directement sur le serveur en enlevant le .txt et en ajoutant simplement le point devant (sans espace).

    Répondre
    • Pardon je voulais dire CHARLED : « je te remercie , c’est exactement ce que j’ai fait j’ai fait une petite recherche que goole et ça a donné ce que t’as di la : sur le ftp il y avait le fichier mais j’avais lissé l’extention .test et quand je l’ai enlevé wow le miracle ! ça marche et le blog redevient comme avant . je te remercie quand même .je t’invite a faie une petitte visite et faire un autographe ^^
      merci

      Répondre
    • Bonjour Charled,
      Merci pour cette réponse claire et complète! :)

      Répondre
  5. @ Mohammed (sous Windows) :
    Sur un les sites que je développe (avec WordPress), j’ai 2 fichier .htaccess sur mon serveur FTP*
    1/ Au MÊME niveau que le répertoire « www ». Ce fichier contient notamment la ligne « SetEnv PHP_VER 5_3 » pour indiquer la version de php
    2/ Un 2ème fichier .htaccess DANS le répertoire « www ». Ce fichier-là est relatif à WordPress :
    # BEGIN WordPress

    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ – [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]

    # END WordPress

    Pour créer un tel fichier, il faut ;
    – ouvrir un éditeur de texte (le Bloc-notes, Notepad++..)
    – saisir les données
    – Enregistrer sous le fichier avec
    pour Nom de fichier : .htaccess
    et pour Type : (*.txt) ou (*.php) mais comme le signale le Charled, il n’y a pas vraiment de type..

    @ Marie :
    Article intéressant.
    Je n’ai pas bien compris le code, mais je risque de le réutiliser à l’avenir
    Bonne continuation.
    H.

    Répondre
    • Bonsoir Henri,

      Merci à toi aussi pour ta réponse bien détaillée!

      Ps: tu n’es pas le seul dans ce cas, mais je profite de cette réponse pour un petit rappel: je préfère quand on garde mon prénom en entier: Marie-EVE

      Répondre
  6. Waaaouh, j’ai pourtant l’habitude d’utiliser wordpress, mais c’est avec ce genre de post que l’on voit qu’il y a vraiment beaucoup d’autres possibilité.
    Je vais de ce pas aller bidouiller un peu un wordpress de test pour voir ce que ça donne 😉

    Répondre
  7. Intéressant, je ne me suis jamais trop intéressé aux custom post types. Dans ton exemple c’est parfaitement adapté. Pour ce qui est de la création de forum, je pense quand même que cela doit être un peu compliqué de cette façon ? Un plugin me parait moins laborieux :)

    Répondre
    • Oui bien sûr^^ Ce que je voulais dire, c’est que les développeurs des plugins (pas tous) utilisent les custom post type. 😉

      Répondre
      • Effectivement je n’avais aucune idée de la manière dont ils faisaient les plugins. La prochaine fois que j’aurais besoin de quelque chose d’assez basique, j’essaierai de le faire moi même de cette façon, plutôt que d’installer un n ième plugin dont je ne me servirai que d’1/4 des fonctionnalités… Merci encore

  8. Merci pour l’astuce ! Ca faisait un petit bout de temps que je me demandai en parcourant certains sites comment ils arrivaient à modifier WP comme ça sans dev lourd/long/couteux.

    Répondre
  9. Bonjour,

    Et au cas où le code vous rebute, ce ne sont pas les plugins qui manquent pour créer vos CPT. Citons Custom Post UI par exemple, ce qui vous facilitera la tâche.

    Répondre
    • Merci pour ce plugin, ça peut aider beaucoup de débutants qui ne veulent pas toucher au code.

      Répondre
  10. je te remercie shelko , c’est exactement ce que j’ai fait j’ai fait une petite recherche que goole et ça a donné ce que t’as di la : sur le ftp il y avait le fichier mais j’avais lissé l’extention .test et quand je l’ai enlevé wow le miracle ! ça marche et le blog redevient comme avant . je te remercie quand même .je t’invite a faie une petitte visite et faire un autographe ^^
    merci

    Répondre
  11. Merci pour l’article, même si ce n’est pas à l’ordre du jour

    Répondre
  12. Bonjour,

    Personnellement quand je dois créer des types de contenu particuliers j’utilise un autre CMS. Souvent Drupal, qui est plus prévu pour ça et qui permet de créer ses propres contenus sans toucher au code (donc pas de soucis quand on update). Les types de variables les plus courants sont déjà codés (téléphone, adresse, e-mail, etc), et pour les autres on les définit comme tu le fais, mais dans le back office.

    Mais c’est vrai que c’est tentant de pouvoir avoir son propre typage tout en profitant de la facilité d’utilisation de WP, et de tous les thèmes et plugins qui l’accompagnent.

    Répondre
    • Bonjour Samuel,

      En effet Drupal est plus adapté mais il reste plus compliqué à utiliser que WordPress pour les utilisateurs finaux.

      Répondre
  13. Très intéressant comme article, c’est vrai qu’on ne pense pas toujours à ça pour nous ce sont plutôt les pages et les articles, mais dès que l’on créé un espace membre ( comme ici avec MarieEve) cela peut devenir indispensable 😉

    Cela me fait beaucoup penser aux structures du langage C et aux fonctions 😉

    Bonne soirée !

    Benjamin

    Répondre
  14. Bonjour
    Merci pour cette article j’ai enfin trouvé mon bonheur .
    Encore merci

    Répondre
  15. Hello!
    Quel est la différence avec l’utilisation des pages?
    Car on pourrait aussi créer une page pour chaque bière, non?
    Quels sont les avantages/limitations?

    Merci pour cet article qui répond justement à ce que j’essaie de faire en ce moment!

    Répondre
    • Bonjour william,

      Excellente question!

      Les pages n’ont pas justement les mêmes propriétés. Par exemple, imaginons que j’ai créée une page par bière. Comment est-ce que je fais pour les ranger dans une catégorie « blonde », « brune » ou « rouge » ? (une semi-solution serait de créer une page parente « blonde » mais ce n’est pas la fonction 1ère des pages que de servir de catégorie) Et que faire de la provenance ? Comment indiquer que la bière vient de belgique ? Encore une page « belgique » utilisée comme parente de la page bière ?

      Sans mentionner que, au niveau du code, écrire une requête qui affichera toutes les bières « blonde » sera plus compliquée si on utilise des pages parentes plutôt qu’un vrai système de catégorisation, comme les custom post types nous le permettent.

      Si demain, je veux ajouter un « prix » à mes bières afin de classer selon le prix, comment faire avec le système des pages ? Il n’y a pas de solution! Alors que les custom post types nous permettent de rajouter un « attribut » prix à tout moment.

      Je conçois que la différence est difficile à comprendre quand on n’a pas conscience du code derrière.

      A très bientôt!

      Répondre
  16. Merci pour cet article très intéressant et très riche qui prouve que WordPress a vraiment d’infinies possibilités.

    Tes explications sont détaillées et méritent de s’y pencher. Je m’en vais tester tout cela.

    Répondre
  17. Pourquoi tant de haine !!! J’ai fini de faire développer un site sur mesure alors que cette méthode aurait été parfaitement adaptée pour moi, j’ai clairement réinventé la roue :(.
    Bon en tout cas merci, je le saurai pour le prochain site.

    Répondre
  18. Bonjour, je suis à la recherche d’avis sur le plugin Commerce Manager pour WordPress car j’avoue être très tentée mais j’aimerai avoir des retours avant d’acheter, merci !

    Répondre
    • Bonjour Lucie,
      Vous trouverez mon avis sur la page de vente du plugin (http://www.kleor.com/commerce-manager/fr/?a=marieeve). Tout ce que j’y dis est sincère et je pense que ça vaut aussi pour les autres avis de cette page.

      En tout cas, je suis TRES satisfaite de ce plugin :)

      Si vous avez une question en particulier, je serais ravie d’y répondre.

      Répondre
      • En fait Lucie (ou plutôt Thierry) n’est pas à la recherche d’avis mais de blogs sur lesquels poster ces liens d’affilié.

      • Merci pour l’info Jérémy…j’aime vraiment pas ça quand je ne vois pas qu’on me prend pour une c*nne. pfff…

        Comment tu sais que c’est un « thierry », le nom dans le lien d’affilié (que j’ai supprimé, je ne peux plus vérifier) ?

        C’est le même Thierry que celui qui poste des commentaires sur cet article tu penses ? :(

      • Comment tu sais que c’est un « thierry », le nom dans le lien d’affilié (que j’ai supprimé, je ne peux plus vérifier) ?

        Tout simplement en allant chercher les infos dans mon interface d’Affiliation Manager.

        C’est le même Thierry que celui qui poste des commentaires sur cet article tu penses ?

        Non c’est pas le même.

      • Merci :)

  19. a chaque que je revient sur ce blog j’apprends beaucoup. Je profite des articles et surtout de l’échange de la communauté qui très actif. Grâce a vous j’ai pu apprendre beaucoup sur wordpress et son code.

    Merci, bon continuation.

    Répondre
    • Bonjour Oussama,

      Merci à la communauté :) et à tous mes visiteurs!

      A très bientôt!

      Répondre
  20. Je savais que j’y trouverai de bonnes infos sur ce blog :)

    Merci !! merci de cette information, le « codex » est génial mais encore faut il savoir ce que l’on cherche… et la, tu me donne LA bonne direction.

    Habitué a faire des sites depuis une page blanche, je me suis lancé dans l’idée que WordPress « pourrait » être une alternative sur un projet perso qui sort du « blog » standard, mais qui gere des « articles » dans le sens WP du terme…

    j’utilise principalement WP comme un FrameWork pour le projet, et a coup de plugin perso, de modification « in the core », j’arrive à mes fins…

    Mais la !! avec ses « Customs Post Types », je vais revoir ma copie et pouvoir mettre 60% du codes déjà développé à la poubelle, et surtout rester WP « concept », ne voulant pas faire quelque chose de « trop » spécifique.

    Donc, une fois de plus, merci de la pertinence de tes articles !

    MarieEve, pourquoi j’ai pas lu ton Blog avant ? j’aurai gagné des nuits de sommeil :)

    « l’information existe, mais ou ? si ont ne sais pas quoi chercher » proverbe personnel :)

    allez… cadeau: http://goo.gl/XDdOw

    Répondre
    • Ah oui, faire des sites WP sans connaître les custom post types, ce n’est pas se faciliter la vie!

      J’adore l’anim’ que tu as filé! Trop expressif le gosse! On peut voir le développeur déçue en lui, ça ne fait aucun doute! 😀

      Répondre
  21. Bonsoir,
    Je suis un internaute de passage, les « Customs Post Types » m’intéressent. Donc vous avez expliqué comment les faire apparaître dans le wp-admin, et pour les afficher sur le site.
    (je sais pas si je me suis bien exprimé lol), mais y a-t-il un tutoriel pour afficher les custom post types sur son site (car je crois bien si j’ai bien lu votre billet que je n’ai rien vu là dessus)

    merci d’avance :)

    Répondre
    • Bonjour,

      En effet, je n’en parle pas dans l’article. En fait, par défaut, les templates employés sont ceux du thème grâce au système de « fall-back » de WordPress: quand un template n’est pas présent, un autre prend sa place, et l’on peut remonter ainsi jusqu’au fichier index.php. Mais il est possible de créer des templates spécifiques. Je ferais peut-être un article là-dessus, mais en attendant, vous pouvez voir la hiérarchie des templates pour comprendre comment ça marche : http://codex.wordpress.org/File:Template_Hierarchy.png

      Répondre
      • Merci MarieEve d’avoir pris le temps de me répondre je vais donc m’atteler à la tâche au plaisir de vous lire :)

  22. En dehors de l’exemple des bières très amusant, c’est effectivement bien de pouvoir varier les types de POST. Certains thèmes wordpress le proposent d’office, mais ce n’est pas toujours très efficace.

    Ensuite, tout dépend de la thématique sur laquelle vous vous trouvez. Je vais essayer ton code et imaginer comment je peux m’en servir cet aprem ! Merci pour l’idée !

    Répondre
  23. Merci pour l’article, excellente explication, vos articles rendent le travail plus facile

    Répondre
  24. Bon article, c’est un bon début pour commencer à customiser wordpress :)
    Bonne continuation.

    Répondre
  25. Très bon tuto pour les créer soi même.
    Personnellement j’utilise Magic Fields (en version 2) qui permet vraiment d’aller très vite pour la plupart des besoins de créations de champs personnalisés.
    De plus les fonctions d’affichage sont assez simples et rapides à prendre en main.

    Répondre
    • Bonjour,

      Magic Field ne sert-il pas que pour les champs personnalisés au sein d’un type de base (article ou page) ? Ici je parle d’un tout nouveau type de données, on est un niveau au dessus en terme de hiérarchie de contenu. 😉 Mais des outils existent aussi pour faire ce que je fais à la main, cf les précédents commentaires.

      Répondre
  26. eh bien.. je ne savez pas qu’on pouvez faire ce genre de manip …. c’est Genial !!! Un collègue et moi on travail justement sur un site pour notre école et on aurais « en gros » les mêmes besoins de classification dans le back office que votre exemple avec la Bière. je lui envoi le lien de votre article ! c’est lui le dév 😉 ! merci à vous

    Répondre
  27. Je ne connaissais pas cette fonctionnalité sur WordPress. Je trouve que ça permet vraiment de personnaliser son administration. N’existe-il pas un plugin qui fait cela plus facilement ? c’est-à-dire juste en installant le plugin ? Je ne suis pas très fort en WordPress.

    Répondre
    • Bonjour,

      Si il existe des plugins, lisez les commentaires…

      Répondre
  28. Bonjour,
    Je viens juste de commencer à prendre en main wordpress et ses tutoriels.

    je me permets de réagir à ce post surtout pour poser une question.

    Je souhaite créér un formulaire par défaut dans la partie admin (éditeur ) (à la place de ajout article ) qui me permettre lorsque je clique sur nouveau formulaire, il s’affiche, mon éditeur (celui qui renseigne les articles) remplit les différents champs, et lorsque il clique sur submit, les différents champs renseignés sont enregistrés dans la bdd. ces éléments renseignés sont par la suite affchés en tant qu’article sur le site online grâce à une fonction
    suivant le template que j’ai crée pour l’affichage d’un article.

    Est ce grace aux custom post type, que l’on peux créer celà? j’espere que je me suis assez bien expliqué!.

    merci beaucoup.

    Répondre
    • Bonjour,

      Oui en effet les CPT vont vous aider à réaliser cela. Créez les CPT « Article Personnalisé ». Puis pour pour rajouter des champs sur l’éditeur de WordPress, il faut vous tourner vers les « champs additionnels » il me semble.

      Ensuite créez le template associé et remontez les champs additionnels comme vous voulez.

      Bon travail!

      Répondre
  29. Bonsoir, merci pour ton partage ! C’est vraiment intéressant, j’ai appris de nouvelles choses grâce à ton article aujourd’hui et je suis même séduite ! Je te souhaite une très bonne continuation.

    Répondre
  30. Bonsoir Marie Eve, Alors voilà un tuto que je garde sous le
    coude. Bravo

    Répondre
  31. Bonjour,

    Je suis depuis quelque temps à la recherche d’une solution et je me demande si les CPT sont bien la solution dont j’ai besoin.

    En clair, je voudrais associer les menus à leur articles et qu’ils s’affichent de la manière suivante sur ma home page : http://www.mojo-themes.com/item/wiksi-responsive-magazine-wordpress-theme/demo/?r=wpthemesspot

    La catégorie « nature » de cette exemple, publie les 5 derniers articles de sa catégorie et c’est exactement ce que je veux pour faire. Les CPT sont-ils la solution que je recherche ?

    Merci par avance de vos réponses :-)

    Répondre
    • Bonjour,

      Non les CPT ne sont pas la solution. Il vous faut simplement un thème de type « magazine », c’est à dire qui met en avant les articles par catégories. C’est juste de la mise en page.

      Répondre
  32. Bonjour,
    Merci de partager vos connaissances.

    Pourquoi je lis systématiquement des articles sur les CPT avec de la taxonomy et rien sur l’utilisation des custom fields ?

    Si je veux faire une carte de cave à bières, avec des infos comme l’origine (champ texte), « est-elle IPA ? » (bouton radio), le titrage, la couleur (liste), n’est-ce pas bien mieux d’utiliser les CF ?

    Merci.

    Répondre
    • Bonjour,

      L’avantage d’utiliser le système de taxonomie est que tous les « articles » rangés dans une catégorie sont liés entre eux en tant que groupe. Il est donc possible d’afficher une page listant tous les articles de tel custom-category ou tel custom-tag (ainsi que d’implémenter une navigation ou une recherche). Alors que les custom fields ne font qu’afficher une information sur la page ; même si plusieurs articles peuvent afficher le même custom-field, ils ne sont pas reliés entre eux, ils ne forment pas un groupe.

      Merci pour cette question intéressante.

      Répondre
      • Ok mais ne peut-on pas faire une boucle et filtrer selon un custom field ?

        Concernant la recherche, cela signifie que les custom field ne sont pas pris en compte par le moteur de recherche ?

      • Honnêtement, je n’ai pas été en bdd pour voir comment le champ est enregistré, et s’il est possible de faire une boucle. Mais d’instinct, aux vues du comportement, je ne pense pas que ce soit le cas.

        Les moteurs de recherche prennent en compte le contenu affiché, donc ils prennent en compte les custom fields.

      • De toutes façons, je vais devoir les utiliser tout cela pour faire une base de produits immobiliers avec recherche (comme pour les agances immo) donc je vais bien voir.
        J’essaierai de penser à revenir faire un commentaire si j’ai utilisé des custom field.

  33. Bonjour,
    ça c’est la partie Custom Post Type, d’accord, avec l’article on comprend bien mais après?
    On créé un « article » puis on la classe dans une « catégorie », on tape son texte ou on utilise les champs personnalisés, c’est tout ?
    Pas besoin de créer un fichier single-biere.php pour reste dans votre exemple ?
    Merci

    Répondre
    • Bonjour,

      Vous ne devez utiliser que le code fourni. Pas besoin d’un nouveau template single-biere.php si je me souviens bien (c’est un peu loin).
      Une fois le code en place, vous avez une nouvelle entrée dans votre menu, que vous pouvez utiliser pour créer les « pages » de types bière.

      Bien à vous

      Répondre
      • Bonjour,
        Merci de votre réponse, oui cela créé des custom post type, erreur de ma part, j’utilisais en plus les champs personnalisés, je ne voyais rien normal.
        Désolé d’avoir posé une question erronée.

Trackbacks/Pingbacks

  1. Transformez Wordpress en vrai CMS avec les "Custom Post Type" - Les Doigts dans le Net | Votre site avec Wordpress | Scoop.it - [...]   [...]
  2. Transformez Wordpress en vrai CMS avec les "Custom Post Type" - Les Doigts dans le Net | Premier scoop | Scoop.it - [...]   [...]

Soumettre un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

This Blog will give regular Commentators DoFollow Status. Implemented from IT Blögg

EmailEmail
PrintPrint