Het maken van websites kan een uitdaging zijn. Tegenwoordig kan een typische website vele soorten informatie bevatten om aan de lezer te presenteren. Met een blogsite hebben we meestal te maken met berichten die in de loop van de tijd aan de blog zijn toegevoegd. Maar als onze site over software, muziek of bijna alles anders gaat, is het misschien het beste om een speciale manier te hebben om de verschillende soorten informatie te scheiden..
WordPress is een geweldig Content Management Systeem (of CMS) waarmee we aangepaste berichttypen kunnen definiëren om beter te categoriseren welke informatie we hebben voor onze lezers. Bij het maken van websites heb ik de aangepaste berichttypen in WordPress gebruikt om een FAQ-blad te maken, een manier om PDF-bestanden, zelfstudies en vele andere manieren te noemen. Sommige plug-ins gebruiken zelfs aangepaste berichttypen om de dynamische inhoud voor een schuifregelaar op de website te maken. Er zijn veel manieren om gebruik te maken van dit zeer flexibele systeem. Maar het heeft zijn problemen: documentatie!
Een kenmerk van aangepaste berichttypen waarvan ik het erg moeilijk heb gehad om uit te vinden, is hiërarchische berichttypen. Een hiërarchisch berichttype is een berichttype met een ouder en een of meer kinderen. Het type pagina-bericht in WordPress is een klassiek voorbeeld van een hiërarchisch berichttype. Eén pagina kan de bovenliggende pagina zijn van andere pagina's, die op een hiërarchische manier de ouders van andere pagina's kunnen zijn. Dit creëert een heel natuurlijke manier om veel gerelateerde pagina's te groeperen.
Tijdens het werken aan een nieuw project met een aangepast berichttype, werd het heel duidelijk dat het hebben van het aangepaste berichttype hiërarchisch van aard vergelijkbaar met pagina's zeer nuttig zou zijn. Ik dook in de documentatie voor aangepaste berichttypen. Het meeste werk dat wordt gedaan om een aangepast berichttype te maken, is in de specificatie van de functie voor het registreren van een berichttype: de register_post_type ()
functie. Deze functie is hoe we aangepaste berichttypen maken in WordPress.
Toen ik dat document scoorde, vond ik deze regel:
hiërarchische
(Boolean) (optioneel) Of het berichttype hiërarchisch is (bijvoorbeeld een pagina). Hiermee kan ouder worden opgegeven.
Standaard: false
Ik dacht: dit is hoe we een hiërarchisch posttype definiëren. Ik heb het op true gezet en het script uitgevoerd. Ik had mijn aangepaste berichttype en alles zag er goed uit. Toen merkte ik een probleem op. Er was geen metabox-gebied in het bewerkingsscherm om de bovenliggende van het huidige aangepaste berichttype aan te geven. Die lijn werkte niet!
Dus ik deed wat elke programmeur deed, ik zocht ernaar op Google! Verrassend genoeg vond ik veel berichten waarin mensen dezelfde vraag stelden. Maar ik heb nooit een bericht gevonden waarop de vraag werd beantwoord. Wanneer Google niet helpt, de enige andere oplossing: probeer elke combinatie van argumenten die mogelijk is in de specificatie voor de register_post_type ()
functie! Dat duurde een tijdje!
Eindelijk merkte ik deze regels op:
ondersteuningen
(array) (optioneel) Een alias voor het rechtstreeks aanroepen van add_post_type_support ().
Standaard: titel en editor* 'titel'
* 'editor' (inhoud)
* 'schrijver'
* 'miniatuur' (aanbevolen afbeelding, huidig thema moet ook postminiaturen ondersteunen)
* 'uittreksel'
* 'trackbacks'
* 'aangepaste velden'
* 'opmerkingen' (zie ook de ballon van het aantal reacties op het bewerkingsscherm)
* 'revisies' (zal revisies opslaan)
* 'paginakenmerken' (menuregel, hiërarchisch moet waar zijn om de optie Ouder te tonen)
* 'post-formaten' toevoegen postformaten, zie Post-formaten
Ik heb in eerste instantie niets gezien dat hiërarchische berichttypen vermeldt, maar de woorden 'pagina-attributen'viel mij op. Het enige berichttype dat oorspronkelijk voor WordPress is, is hiërarchisch de pagina. Misschien als ik mijn aangepaste kenmerken voor de postpagina zou geven, dan zou het misschien de bovenliggende metabox weergeven. Net toen die gedachte door mijn hoofd ging, merkte ik eindelijk het einde van de regel op die zei:hiërarchisch moet waar zijn om de optie Ouder te tonen'. Bingo! Ik wist dat dat was wat ik nodig had. Ik heb de regel toegevoegd aan mijn aangepaste berichttype en inderdaad, het werkte. Ik had nu een hiërarchisch aangepast berichttype!
Daarom, om een hiërarchisch aangepast berichttype te maken, moet u beschikken over de 'pagina-attributen
'ingesteld in de'ondersteuningen
'array en de'hiërarchische
'vlag ingesteld op waar
. Ik hoop dat dit je ook goed was!
Welke andere kleine idioten heb je tegengekomen bij het ontwikkelen voor WordPress en wat zijn de tips die je kunt delen om anderen de tijd te besparen? Deel ze in de reacties hieronder.