Utilisation de SuperCPT pour créer des types de publication, des taxonomies et des méta-boîtes personnalisés

Avec la publication de la version 3.0, WordPress a introduit les types de publication personnalisés et mis à jour les taxonomies personnalisées introduites dans la version 2.8. Depuis lors, les utilisateurs et les développeurs de WordPress sont en mesure de créer leurs propres types et taxonomies de publications. Les gens ne sont plus enchaîné aux "messages" et "pages" ternes avec les "catégories" et "tags" ennuyeux.

Oui, l'utilisation de types d'articles personnalisés, de taxonomies personnalisées et de méta-boîtes personnalisées est cool. Tu sais ce qui est plus cool? Créer chacun avec une seule ligne de code.


La difficulté de créer des types de post personnalisés et des taxonomies

Je trouve difficile et ennuyeux de créer des types de post personnalisés et des taxonomies avec le register_post_type () et register_taxonomy () les fonctions. Bien qu’ils soient extrêmement utiles, je déteste un peu quand je dois écrire une série d’arguments et les transmettre avec une fonction que je dois aussi utiliser avec le add_action () une fonction.

Même en tant que développeur, il est difficile de faire cela avec chaque type d'article et chaque taxonomie que je dois créer - je ne peux pas imaginer à quel point c'est difficile pour les utilisateurs novices de WordPress.

Ne vous méprenez pas, vous pouvez toujours ou devez les utiliser avec SuperCPT également - mais SuperCPT adhère au principe DRY (ne vous répétez pas) et facilite le processus. En pratique, il vous suffit de définir le "nom singulier" en minuscules de votre type de message ou de votre taxonomie, et SuperCPT gère le reste avec une casse appropriée..

Et la meilleure partie est que vous n'avez pas à vous soucier de créer des boîtes à méta personnalisées et des champs de méta en eux.!

SuperCPT vous permet de créer des méta-boîtes avec des champs qui varient entre des éléments HTML simples d'éditeurs WYSIWYG et des sélecteurs de date. Nous permettre de faire tout cela en écrivant des tableaux simples est de loin le moyen le plus simple que j'ai jamais vu pour créer des méta-boîtes..


Utilisation de SuperCPT, la solution tout-en-un

Je peux louer SuperCPT toute la journée, mais comme l'a dit le créateur Matthew Boynes sur la page GitHub de SuperCPT, la preuve est dans le pudding et nous devrions arriver aux exemples - juste après nous voyons un impressionnant screencast, cinq minutes.

Prenez une copie du référentiel de plugins WordPress.org, installez-la puis ouvrez celle de votre thème. functions.php déposer au travail la magie de SuperCPT!

Le screencast

http://vimeo.com/59368054

Création de types de publication personnalisés

Comme vous pouvez le constater sur la vidéo, la création de types d'articles personnalisés est aussi simple que de taper une ligne de code:

  array ('name' => __ ('Computer Parts', 'my-locale'), 'singular_name' => __ ('Computer Part', 'my-locale')), 'public' => true, 'has_archive '=> vrai,)); * / // la méthode SuperCPT $ type_computer_part = new Super_Custom_Post_Type ('partie-ordinateur'); ?>

SuperCPT prend automatiquement "partie informatique"et supprime les traits d'union et les soulignés et capitalisant chaque mot. Il définit également les formes "singulière" et "plurielle" departie informatique"et les utilise pour former les étiquettes, comme" Ajouter une nouvelle partie d'ordinateur "ou" Rechercher des parties d'ordinateur ", etc..

Bien sûr, vous pouvez définir les étiquettes à votre guise. En fait, vous pouvez définir tous les arguments que register_post_type () a, si vous aimez jouer. Consultez la section "Types de publications personnalisés" du SuperCPT Wiki pour connaître la liste complète des arguments et leurs valeurs par défaut..

SuperCPT comprend un jeu d'icônes gratuit appelé Glyphicons pour vous permettre de définir des icônes pour vos types de publication. C'est aussi simple que de taper une autre ligne de code: $ type_computer_part-> set_icon ('display'); Si vous vous demandez quoi utiliser comme paramètre, consultez la page SuperCPT sous Outils de votre panneau d'administration. Vous y trouverez le nom des icônes..

Créer des taxonomies personnalisées

Créer des taxonomies personnalisées avec SuperCPT ressemble beaucoup à la création de types de publication personnalisés. Encore une fois, une seule ligne suffit pour SuperCPT:

  __ ('Fabricants', 'mon-locale'), 'rewrite' => array ('slug' => __ ('fabricant', 'mon-locale'))); * / // la méthode SuperCPT $ tax_manufacturer = new Super_Custom_Taxonomy ('constructeur'); ?>

Comme pour les types de publication personnalisés, les arguments des taxonomies personnalisées sont définis automatiquement, mais ils peuvent également être modifiés. Consultez la section "Types de messages personnalisés" du SuperCPT Wiki pour en savoir plus sur les arguments..

Comme vous pouvez le deviner: cette ligne de code ci-dessus ne permet pas de connecter votre taxonomie personnalisée à un type de publication. Vous devez le faire avec une fonction d’aide de SuperCPT, comme ceci: $ tax_manufacturer-> connect_post_types ('partie-ordinateur');

Créer des méta-boîtes personnalisées

Bouclez votre ceinture, c'est ma partie préférée! :)

Sérieusement, le meilleur atout de SuperCPT est la facilité d’ajout de boîtes de méta post personnalisées. Vous n'avez pas à vous soucier des codes HTML ni à vous soucier de la sauvegarde, de la désinfection, etc. de vos données. Cependant, nous ne pouvons pas utiliser de codes à une seule ligne pour créer des méta-boîtes cette fois (évidemment).

Il y a deux fonctions essentielles: add_meta_box () et add_meta_boxes (). (Nous allons nous en tenir au premier pour ce tutoriel.) Le identifiant et des champs les paramètres sont obligatoires mais il y a beaucoup d'autres paramètres sur le wiki si vous souhaitez voir.

 add_meta_box (array ('id' => 'our-review', // le titre est converti de 'id', s'il n'y a pas de 'title' paramètre 'fields' => array ('score' => array ('label' => __ ('Our Score', 'my-locale'), 'type' => 'radio', 'options' => array ('1', '2', '3', '4', '5 ')),' release-date '=> array (' label '=> __ (' Date de parution ',' my-locale '),' type '=>' date '), // oui, il y a une date picker… 'short-comment' => array ('label' => __ ('Un commentaire court', 'my-locale'), 'type' => 'textarea'), 'review-text' => array ( 'label' => __ ('Full Review', 'my-locale'), 'type' => 'wysiwyg') //… et il y a une zone de texte WYSIWYG! :)))); ?>

Maintenant, je sais qu'il y a beaucoup de tableaus, mais il y a des choses que même SuperCPT peut prédire, non? :)

Il y a beaucoup d'éléments de champs que vous pouvez placer dans les boîtes de méta:

  1. Champs de booléens cachés
  2. Entrées de texte normales
  3. Textareas régulière
  4. Editeurs WYSIWYG
  5. Cases à cocher
  6. Boîtes de radio
  7. Sélectionner des cases
  8. Cueilleurs de date
  9. Et les nouveaux champs de saisie HTML5 tels que: tel, email, etc..
Nous pouvons également extraire des données d'autres types d'articles personnalisés et remplir la case à cocher, la case d'option ou les champs de case avec ces données. Cela peut être très utile dans certains cas!

La fonction d'emballage

Une dernière chose: vous avez besoin d’une fonction wrapper pour définir ces types de publication personnalisés et lier cette fonction à une action - SuperCPT recommande after_setup_theme hook, mais si vous allez écrire un plugin pour créer les types de post personnalisés et les taxonomies, vous feriez mieux d'utiliser le hook plugins_loaded attendre le chargement des plugins. Vous devez également être sûr que le Super_Custom_Post_Type la classe existe avant de la référencer.

Voici la fonction de démonstration de la documentation SuperCPT:

 

Conclusion

Là, vous savez maintenant tout sur le gestionnaire de type de message personnalisé et de taxonomie le plus simple, SuperCPT! Pour plus d'informations, consultez la documentation complète. Il existe de nombreuses fonctions d'assistance, actions et filtres qui pourraient vous intéresser.

Que pensez-vous de ce plugin WordPress? Dites-nous ce que vous pensez en commentant ci-dessous, et si cela vous a plu (je suis sûr que vous le ferez!), N'oubliez pas de partager le post!