Met de release van Wordpress 3.0 werden twee geweldige manieren geïntroduceerd om content beter te organiseren en weer te geven: berichttypen en taxonomieën. Deze twee ontwikkelingen verbeteren de rol van Wordpress als een all-round contentbeheersysteem en ze blijven bewijzen dat WP niet alleen een blogplatform is. Wanneer 3.1 wordt uitgebracht met postformaten, is het absoluut noodzakelijk dat u begrijpt hoe u berichttypen en taxonomieën kunt gebruiken en implementeren.
In deze tutorial zal ik je het volgende bespreken:
Tegen de tijd dat je deze stappen hebt voltooid, hoop ik je projecten van brandstof te voorzien door andere geweldige manieren te onderzoeken om deze organisatorische elementen in WordPress te integreren..
Wanneer je denkt aan postsoorten, is het belangrijke woord om te onthouden dat wel organisatie. Het berichttype zelf voegt echt geen functionaliteit toe, maar het stelt ons in staat om Wordpress-inhoud beter te organiseren en beheerdersdashboards te maken die specifiek zijn voor het type site waarmee we werken.
Hier zijn enkele belangrijke dingen om te onthouden bij het werken met berichttypen:
"Op dezelfde manier waarop berichten worden weergegeven in hun eigen archief met archive.php, gebruiken aangepaste berichttypen archief- posttype .php."
Voor andere informatie over het integreren van berichttypen, het opvragen van berichttypen en algemene functies, bezoek de codex hier.
Het integreren van berichttypen is eenvoudig een kwestie van het opnemen van de register_post_type
functie. Zodra je dit in je functions.php-bestand hebt opgenomen, zou je navigatiemenu van iets als dit moeten gaan:
hieraan:
Open uw sjablonen om aangepaste berichttypen te maken functions.php
bestand in een editor en plaats de volgende functie in het bestand:
functie create_post_type () register_post_type ('mysite_reviews', array ('labels' => array ('name' => __ ('Reviews'), 'singular_name' => __ ('Review')), 'public' => waar, 'menu_position' => 5, 'rewrite' => array ('slug' => 'reviews'))); add_action ('init', 'create_post_type');
Uitgesplitst voegt dit de functie toe create_post_type
, en registreert het berichttype mysite_reviews,
add_action ('init', 'create_post_type'); functie create_post_type () register_post_type ('mysite_reviews'),
Je vraagt je misschien af waarom ik het post_type heb genoemd mysite_reviews, en niet alleen beoordelingen. Ik maakte de naam opvallender om er zeker van te zijn dat mijn berichttype niet zou interfereren met aangepaste berichttypenamen uit andere plug-ins of thema's.
Nog een vriendelijke herinnering: uw aangepaste berichttypen mogen niet langer zijn dan 20 tekens, omdat dit de limiet is van de databasekolom.
Hier is een samenvatting van de belangrijke posttypeparameters die ik hierboven heb ingesteld:
Een volledige lijst met parameterargumenten voor berichttypen vindt u hier.
Aangezien WordPress-berichttypen eenvoudigweg een uitbreiding zijn van het bestaande classificatiesysteem, lijkt het weergeven ervan in een thema vergelijkbaar met wat al bestaat. Er zijn momenteel drie belangrijke manieren om aangepaste berichttypen weer te geven in uw thema's:
Om het nieuwe berichttype weer te geven mysite_reviews
, u wilt het sjabloonbestand openen waarop u het wilt weergeven (in mijn geval maak ik meestal een aangepast bestand home.php
voor sjablonen), en voer de volgende code in:
$ args = array ('post_type' => 'mijnsite_reviews', 'posts_per_page' => 10); $ loop = new WP_Query ($ args); while ($ loop-> have_posts ()): $ loop-> the_post (); de titel(); echo ''; the_excerpt (); echo ''; endwhile;
Dit maakt eenvoudigweg een nieuwe Wordpress-lus aan die de titel en het uittreksel van de 10 meest recente vermeldingen in de mysite_reviews
berichttype.
Net zoals u de manier kunt aanpassen waarop individuele berichten worden weergegeven via het single.php-bestand van een thema, kunt u de manier aanpassen waarop uw afzonderlijke berichttypeopen worden weergegeven. De eenvoudigste manier om dit te doen is om een duplicaat van het single.php-bestand van uw thema te maken en de naam ervan te wijzigen single- posttypename php
. Van daaruit kunt u dat bestand aanpassen aan uw specificaties. Gebruikmakend van het bovenstaande voorbeeld, hebben we een enkel berichtsjabloon nodig single-mysite_reviews.php
.
Hoewel deze functie pas beschikbaar is nadat WP 3.1 is vrijgegeven, kunnen berichttypen ook worden weergegeven als archiefstijl door een bestand te maken in uw thema met de naam archive- posttypename .php. Als we dus een archief maken voor het berichttype, zouden we een archiefsjabloon maken met de naam archief-mysite_reviews.php
en plaats deze in onze sjabloonmap.
Met aangepaste berichttypemodellen kunnen aangepaste thema-makers gemakkelijker abonnements- en lidmaatschapssites maken door de inhoud van deze specifieke berichten en pagina's te beperken tot bepaalde gebruikersgroepen.
Ik zal hier niet te gedetailleerd ingaan, omdat Paul Kaiser al een geweldig overzicht van taxonomieën en de code die betrokken is bij het implementeren van de functie heeft geschreven (zie de tutorial hier). Het sleutelwoord om te onthouden bij het denken over taxonomieën is classificatie. Ze lijken op tags, maar laten een diepere, meer inhoudspecifieke classificatie toe.
In werkelijkheid zijn ze een buitengewoon krachtige manier om verschillende items op allerlei manieren te groeperen.
Stel bijvoorbeeld dat ik de beoordelingen berichttype van boven. Omdat ik dat brede berichttype zeker wil classificeren, kan ik taxonomieën maken zoals:
Met aangepaste taxonomieën zou ik zelfs dieper ingaan op het classificeren van de bovenstaande taxonomieën. Ik zou kunnen ingaan op filmgenres, auteurs van boeken en productmarkten. Nogmaals, samen met berichttypen, vergroten deze de mogelijkheden voor contentbeheer van Wordpress aanzienlijk.
Over het algemeen zijn taxonomieën vrij eenvoudig te implementeren in uw functions.php
het dossier. Denk eraan, je kunt hiërarchisch met ze omgaan of ze als tags behandelen, dus hoe complexer je wilt, hoe groter de moeilijkheid. Hoe dan ook, hier is een kort overzicht van hoe je deze kunt integreren in je thema.
Nogmaals, open je functions.php bestand en voeg de volgende code in:
function movie_taxonomy () register_taxonomy ('movie_review', 'mysite_reviews', array ('hierarchical' => true, 'label' => 'Movie Review', 'query_var' => true, 'rewrite' => array ('slug '=>' filmrecensies '))); add_action ('init', 'movie_taxonomy');
Om dit te doorbreken, geven we eerst de taxonomie een formele naam ("movie_review") en plaatsen we deze onder het berichttype "mysite_reviews", dat we eerder hebben gemaakt.
function movie_taxonomy () register_taxonomy ('movie_review', 'mysite_reviews',
Vervolgens geven we deze waarden door:
array ('hierarchical' => true, 'label' => 'Movie Review', 'query_var' => true, 'rewrite' => array ('slug' => 'filmrecensies'))
Dit levert de volgende argumenten:
Het eindresultaat in onze admin nav zou er als volgt uit moeten zien:
Bovendien kunnen we in die interface duiken en meer classificatiecategorieën en -structuur toevoegen. Die interface lijkt op de categorie-interface die u misschien al kent.
Vanuit deze interface kunt u de slugs van de verschillende categorieën in uw taxonomie bewerken, nieuwe categorieën maken en ouder- en kindcategorieën bepalen.
Een volledige lijst van parameterargumenten voor taxonomieën is hier te vinden.
Er zijn momenteel drie belangrijke manieren om aangepaste berichttypen weer te geven in uw thema's:
Net zoals er tag clouds zijn, zijn er taxonomie clouds. Om het gemakkelijk te maken, gebruiken beide tags en clouds de wp_tag_cloud
functie. Om een array van taxonomiecategorieën in een cloud weer te geven, gebruiken we de volgende code:
'taxonomy_name_1', 'taxonomy_name_2')); ?>
Ga naar de codex voor meer informatie over de functie en de parameterargumenten.
Taxonomieën kunnen ook in aangepaste query's worden opgenomen, net als bij de bovenstaande berichttypen. Bijvoorbeeld om inhoud uit de taxonomie weer te geven movie_genre
, we zouden de volgende code moeten invoegen in ons sjabloonbestand:
$ args = array ('tax_query' => array ('taxonomy' => 'movie_genre', 'field' => 'slug', 'terms' => 'comedy')); query_posts ($ args);
Eerst gebruiken we het argument tax_query
zodat we parameters kunnen doorgeven die ons in staat stellen om te zoeken op basis van slug of termen en om meer nauwkeurige queryresultaten te retourneren. In dit voorbeeld hebben we berichten weergegeven die zijn getagd als 'comedy' in de aangepaste taxonomie 'movie_genre'. Net als bij posttypen kunnen we het aantal berichten dat deze query retourneert, opnieuw beperken.
Om een door komma's afgebakende lijst met berichten per taxonomie weer te geven, hoeven we alleen het volgende ergens in de lus te plaatsen:
ID, 'taxonomy name', 'Displayed Title:', ',', ");?>
Er zijn andere weergaveopties voor deze lijst en de parameters zijn hier te vinden.
Nu we de bouten en moeren hebben, denk ik: "Waarom geef ik om deze dingen?" is een heel eerlijke vraag. De mogelijkheden met berichttypen en taxonomieën, vooral werken met klanten die vaak te druk zijn om de fijne kneepjes van een site te beheren, is eindeloos. Dit bespaart naar mijn mening tijd bij het maken van nieuwe beheerfuncties en het bijwerken van plug-ins en opent deuren naar nieuwe mogelijkheden met veel minder werk (en codering)..
Hieronder enkele ideeën die ik had over hoe ik deze kon integreren in echt werk:
Ten eerste zou een beoordelingssite kunnen profiteren van de bovenstaande aangepaste sjabloonopties (single en archief)
Hier zijn wat meer berichttypen en taxonomieën die u zou kunnen implementeren op een beoordelingssite:
Hoewel er enkele goede sjablonen zijn voor sites met onroerend goed, bieden posttypen en taxonomieën creatieve mensen de mogelijkheid om aangepaste sjablonen te maken die gemakkelijk kunnen worden onderhouden door zowel klanten als webmasters. Hier zijn slechts een paar ideeën om te gebruiken in uw volgende project:
Een ding dat WordPress echt mist (naar mijn mening) is een goed eventmanagementsysteem. Berichttypen en taxonomieën kunnen daar gemakkelijk voor zorgen door een systeem aan te bieden om maandelijkse evenementen te classificeren op locatie, dag of elk ander systeem dat u maar kunt bedenken.
Met het maken van een nieuw berichttype en -sjabloon, zou u een aangepaste premiumcategorie voor uw blog of website kunnen maken en een betalingsgateway kunnen integreren om uw eigen lidmaatschapssite te maken..
Door een productberichttype en -sjabloon te maken, kunt u gemakkelijk producten toevoegen en weergeven voor verkoop op uw site. Bovendien zouden taxonomieën een gemakkelijke productorganisatie mogelijk maken.
Ik hoop dat deze tutorial berichttypen en taxonomieën in Wordpress 3.0 heeft uitgelegd en waarom ze een uiterst waardevolle bron zijn om in uw projecten te implementeren. Ik weet dat er veel pleitbezorgers zijn van plug-ins (en ik ben zelf een auteur van plug-ins), maar ik hoop dat ik heb gezegd dat het implementeren van deze dingen een zeer eenvoudige taak is en dat het tijd zal besparen voor zowel jou als je klant in de lange termijn.
De bovenstaande lijst met ideeën is op zijn best een kleintje, dus ik zou graag horen hoe je ze hebt geïmplementeerd in je projecten of misschien een ander gebruik dat ik niet heb opgesomd.
Heel erg bedankt voor het lezen!