SuperCPT gebruiken om aangepaste berichttypen, taxonomieën en metaboxen te maken

Met de release van versie 3.0 introduceerde WordPress aangepaste berichttypen en aangepaste aangepaste taxonomieën die werden geïntroduceerd in v2.8. Sindsdien kunnen WordPress-gebruikers en -ontwikkelaars hun eigen berichttypen en taxonomieën maken. Mensen zijn niet langer geketend naar de saaie "berichten" en "pagina's" met de saaie "categorieën" en "tags".

Ja, het gebruik van aangepaste berichttypen, aangepaste taxonomieën en aangepaste metaboxen zijn cool. Weet je wat cooler is? Creër elk met een enkele regel code.


Het gedoe van het creëren van aangepaste berichttypes en taxonomieën

Ik vind het moeilijk en saai om aangepaste berichttypen en taxonomieën te maken met de register_post_type () en register_taxonomy () functies. Hoewel ze buitengewoon nuttig zijn, heb ik er een hekel aan als ik een aantal argumenten moet schrijven en deze moet doorgeven met een functie die ik ook moet gebruiken met de add_action () functie.

Zelfs als ontwikkelaar is het pijnlijk om dit te doen met elk type bericht en taxonomie dat ik moet maken - ik kan me niet voorstellen hoe moeilijk het is voor beginnende WordPress-gebruikers.

Begrijp me niet verkeerd, je kunt of moet ze ook doen met SuperCPT - maar SuperCPT omarmt het DRY-principe (Do not Repeat Yourself) en verlicht het proces. In de praktijk moet je alleen de "singuliere naam" in kleine letters van je berichttype of taxonomie instellen en SuperCPT de rest met het juiste hoofdlettergebruik.

En het beste is dat je niet te maken hebt met de puinhoop van het maken van aangepaste metabakken en metavelden erin!

Met SuperCPT kunt u metaboxen maken met velden die variëren tussen eenvoudige HTML-elementen van WYSIWYG-editors en datumkiezers. Ons dit allemaal laten doen door eenvoudige arrays te schrijven is veruit de gemakkelijkste manier die ik ooit heb gezien voor het maken van metaboxen.


SuperCPT gebruiken, de alles-in-één oplossing

Ik kan SuperCPT de hele dag prijzen, maar zoals de maker Matthew Boynes zei op de GitHub-pagina van SuperCPT, het bewijs is de pudding en we moeten naar de voorbeelden gaan - meteen nadat we een geweldige screencast van vijf minuten hebben gezien.

Pak een kopie van de WordPress.org Plugin Repository, installeer deze en open vervolgens je thema's functions.php bestand om de magie van SuperCPT te bewerken!

De Screencast

http://vimeo.com/59368054

Aangepaste berichttypen maken

Zoals je in de video kunt zien, is het maken van aangepaste berichttypen net zo eenvoudig als het typen van een regel code:

  array ('name' => __ ('Computer Parts', 'my-locale'), 'singular_name' => __ ('Computeronderdeel', 'mijn-locale')), 'public' => true, 'has_archive '=> waar,)); * / // de SuperCPT-methode $ type_computer_part = new Super_Custom_Post_Type ('computer-part'); ?>

SuperCPT neemt automatisch "computer-parten verwijdert alle koppeltekens en onderstrepingstekens en hoofdlettergebruik van elk woord. Het stelt ook de "enkelvoud" en "meervoud" vormen van "computer-part"en gebruikt deze om de labels te vormen, zoals" Nieuw computeronderdeel toevoegen "of" Computeronderdelen zoeken ", enzovoort.

Natuurlijk kunt u labels naar eigen inzicht instellen. In feite kun je alle argumenten instellen die register_post_type () heeft, als je graag speelt. Ga naar de sectie "Aangepaste berichttypen" van SuperCPT Wiki om de volledige lijst met argumenten en hun standaardwaarden te vinden.

SuperCPT bevat een gratis pictogrammenset met de naam Glyphicons waarmee u pictogrammen kunt instellen voor uw berichttypen. Het is net zo eenvoudig als een andere regel code typen: $ type_computer_part-> set_icon ('display'); Als u zich afvraagt ​​wat u als parameter moet gebruiken, controleert u de SuperCPT-pagina onder de Tools van uw admin-paneel - u zult de namen van de pictogrammen vinden.

Aangepaste taxonomieën maken

Het maken van aangepaste taxonomieën met SuperCPT lijkt veel op het maken van aangepaste berichttypen. Nogmaals, een enkele regel volstaat voor SuperCPT:

  __ ('Manufacturers', 'my-locale'), 'rewrite' => array ('slug' => __ ('manufacturer', 'my-locale')))); * / // de SuperCPT-methode $ tax_manufacturer = nieuwe Super_Custom_Taxonomy ('fabrikant'); ?>

Net als bij de aangepaste berichttypen worden de argumenten van aangepaste taxonomieën automatisch ingesteld, maar deze kunnen ook worden gewijzigd. Controleer de sectie "Aangepaste berichttypen" van SuperCPT Wiki voor meer informatie over argumenten.

Zoals u kunt raden: deze ene regel code hierboven kan uw aangepaste taxonomie niet koppelen aan een berichttype. U moet dat doen met een helperfunctie van SuperCPT, zoals dit: $ tax_manufacturer-> connect_post_types ('computer-part');

Aangepaste metaboxen maken

Maak je vast, dit is mijn favoriete onderdeel! :)

Serieus, het beste deel van SuperCPT is het gemak van het toevoegen van aangepaste post-metaboxen. U hoeft niet te rommelen met HTML-codes of u zorgen te maken dat uw gegevens worden opgeslagen, opgeschoond en wat niet. We kunnen deze keer echter geen enkele regelcodes gebruiken om metabakken te maken (uiteraard).

Er zijn twee essentiële functies: add_meta_box () en add_meta_boxes (). (We zullen bij de eerste blijven voor deze tutorial.) De ID kaart en velden parameters zijn vereist, maar er zijn een heleboel andere parameters op de wiki als je deze wilt zien.

 add_meta_box (array ('id' => 'our-review', // de titel wordt geconverteerd van 'id', als er geen 'titel' parameter 'fields' => array ('score' => array ('label') => __ ('Our Score', 'my-locale'), 'type' => 'radio', 'options' => array ('1', '2', '3', '4', '5 ')),' release-date '=> array (' label '=> __ (' Release Date ',' my-locale '),' type '=>' date '), // yes, er is een datum picker ... 'short-comment' => array ('label' => __ ('A Short Comment', 'my-locale'), 'type' => 'textarea'), 'review-text' => array ( 'label' => __ ('Volledig overzicht', 'mijn-locale'), 'type' => 'wysiwyg') // ... en er is een WYSIWYG-tekstgebied! :)))); ?>

Nu, ik weet dat er veel zijn rangschikkings, maar er zijn dingen die zelfs SuperCPT kan voorspellen, toch? :)

Er zijn veel veldelementen die je in de metaboxen kunt plaatsen:

  1. Verborgen booleaanse velden
  2. Reguliere tekstinvoer
  3. Regelmatige tekstgebieden
  4. WYSIWYG-editors
  5. checkboxes
  6. Radiodozen
  7. Selecteer vakjes
  8. Datumkiezers
  9. En de nieuwe HTML5-invoervelden zoals: tel, e-mail, enz.
We kunnen ook gegevens ophalen van andere aangepaste berichttypen en het selectievakje, de radiokast of selecteer vakjesvelden invullen met deze gegevens. Dit kan in sommige gevallen erg handig zijn!

De Wrapper-functie

En als laatste: je hebt een wrapper-functie nodig om deze aangepaste postsoorten in te stellen en die functie aan een actie te koppelen. SuperCPT beveelt de after_setup_theme haak maar als je een plug-in gaat schrijven om de aangepaste berichttypen en taxonomieën te maken, kun je maar beter de haak gebruiken plugins_loaded om te wachten tot de plug-ins zijn geladen. Je moet ook zeker zijn van de Super_Custom_Post_Type klasse bestaat voordat ernaar wordt verwezen.

Dit is de demo-wrapper-functie uit de SuperCPT-documentatie:

 

Conclusie

Daar weet je alles over de eenvoudigste aangepaste functie voor post en taxonomie van het type post, SuperCPT! Raadpleeg de volledige documentatie voor meer informatie. Er zijn een aantal helperfuncties, acties en filters die je misschien leuk vindt.

Wat denk je van deze coole plug-in voor WordPress? Vertel ons wat je denkt door hieronder te reageren, en als je het leuk vindt (ik ben er vrij zeker van dat je dat zult doen!), Vergeet dan niet om het bericht te delen!