Innovatief gebruik van WordPress berichttypes en taxonomieën

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.


Wat we gaan dekken

In deze tutorial zal ik je het volgende bespreken:

  • Overzicht van berichttypen en taxonomieën in Wordpress 3.0
  • Posttypen en taxonomieën integreren in uw thema's
  • Praktische voorbeelden van manieren om posttypen en taxonomieën op innovatieve manieren in uw projecten te gebruiken

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..


Een snel overzicht van WordPress berichttypen

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:

  • Wanneer u een nieuw berichttype maakt, verschijnt een nieuw navigatie-element op het hoogste niveau aan de linkerkant van het admin-menu. Vanaf daar zijn alle standaard bericht- en pagina-editors beschikbaar.
  • De URL-reeks voor een nieuw berichttype is: http://yoursite.com/post-type/title/.
  • U kunt post-type archiefpagina's maken net zoals u met categorieën doet en u kunt zelfs speciale sjabloonbestanden maken door een archief- posttype .php-bestand te maken.

"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.


Posttypen integreren via Functions.php

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:

  • labels - Met Wordpress kunnen we alles van de naam van het berichttype labelen tot het label voor het toevoegen van nieuwe berichten. Een complete lijst is hier te vinden. In de bovenstaande functie heb ik de naam van het berichttype en de singuliere naam gelabeld.
  • openbaar - Indien ingesteld op waar
  • menu_position - Ik heb dit ingesteld op 5, waardoor het berichttype direct onder "Posts" wordt geplaatst. De andere plaatsingen zijn als volgt: nul (onder Reacties), 0 (onder Media), 20 (onder pagina's), 60 (onder eerste scheidingsteken) en 100 (onder tweede scheidingsteken)
  • herschrijven - Om ervoor te zorgen dat onze werkelijke term 'mijnsite_reviews' niet in de URL wordt geplaatst, stellen we de naaktslak in op 'recensies' die op de lange termijn veel beter zullen zijn voor onze bezoekers, links en SEO.

Voor meer informatie

Een volledige lijst met parameterargumenten voor berichttypen vindt u hier.


Berichttypen weergeven in Wordpress-thema's

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:

  • Bericht plaatsen
  • Enkele berichtsjabloon
  • Archiefsjabloon

Weergeven via bericht Query

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.

Weergeven via sjabloon voor enkele berichten

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.

Weergeven op archiefsjabloon

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.


Een snel overzicht van WP-taxonomieën

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:

  • Filmrecensies
  • Boek recensies
  • Product recensies

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.


Integratie van taxonomieën via Functions.php

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:

  • hiërarchische - Indien ingesteld op "true", zal de taxonomie meer als een categorie werken. Er kunnen oudertaxonomieën en geneste taxonomieën zijn die een grotere indelingsdiepte mogelijk maken. Wanneer ingesteld op "false", gedragen ze zich net als tags.
  • label - Net als bij de berichttypen hierboven is dit het label dat de taxonomie openbaar zal ontvangen.
  • query_var - Indien ingesteld op "true" wordt deze taxonomie een doorzoekbaar element.
  • herschrijven - Hiermee wordt het herschrijven van de URL ingesteld. Nu worden berichten in deze taxonomie weergegeven als http://mysite.com/movie-reviews/post title /.

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.

Voor meer informatie

Een volledige lijst van parameterargumenten voor taxonomieën is hier te vinden.


Taxonomieën weergeven in Wordpress-thema's

Er zijn momenteel drie belangrijke manieren om aangepaste berichttypen weer te geven in uw thema's:

  • Taxonomie Cloud
  • Custom Taxonomy Query
  • Aangepaste taxonomielijst

Taxonomie Cloud

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.

Custom Taxonomy Query

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.

Aangepaste taxonomielijsten

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.


Posttypen en taxonomieën gebruiken in uw volgende project

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:

1. Beoordeel Sites

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:

  • Berichttype - Filmrecensies
  • taxonomieën - Genre, acteur, regisseur
  • Berichttype - Boek recensies
  • taxonomieën - Genre, auteur, uitgever
  • Berichttype - Product recensies
  • taxonomieën - Productcategorie, prijs

2. Vastgoedvermeldingslocaties

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:

  • Berichttype - Vermeldingen
  • taxonomieën - Gebied, agent, prijs, kamers
  • Berichttype - agenten

3. Evenementenbezoeken

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.

4. Abonnementssites

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..

5. E-commerce

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.


Wat gaan we nu doen?

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!