Utilizarea inovatoare a tipurilor de posturi WordPress și a taxonomiilor

Odată cu lansarea Wordpress 3.0, au fost introduse două moduri de organizare și afișare a conținutului: posturi și taxonomii. Aceste două îmbunătățiri îmbunătățesc rolul Wordpress ca un sistem de management al conținutului, și continuă să demonstreze că WP nu este doar o platformă de blog. Atunci când se eliberează 3.1 cu formate postate, va fi imperativ să înțelegeți cum să utilizați și să implementați tipuri de posturi și taxonomii.


Ce vom face să acopere

În acest tutorial, vă voi vorbi prin următoarele:

  • Prezentare generală a tipurilor de posturi și a taxonomiilor în Wordpress 3.0
  • Cum să integrați tipurile de post și taxonomiile în temele dvs.
  • Exemple din lumea reală cu privire la modul de utilizare a tipurilor de post și a taxonomiilor în moduri inovatoare în cadrul proiectelor dvs.

În momentul în care ați finalizat acești pași, sper să vă combinați proiectele examinând alte moduri minunate de a integra aceste elemente organizaționale în WordPress.


O scurtă prezentare generală a tipurilor de mesaje WordPress

Când vă gândiți la tipurile de posturi, cuvântul important de reținut este organizare. Tipul postului nu va adăuga într-adevăr nicio funcție, dar ne permite să organizăm mai bine conținutul Wordpress și să construim dashboards de administrare care sunt mai specifice tipului de site cu care lucrăm.

Iată câteva lucruri importante de reținut atunci când lucrați cu tipuri de posturi:

  • Când creați un nou post, un nou element de nivel superior va apărea în meniul principal al administratorului din stânga. De acolo, toți editorii standard de post și de pagină sunt disponibili.
  • Șirul de adresă URL pentru un nou post va fi: http://yoursite.com/post-type/title/.
  • Puteți să creați pagini de arhivare după tipul de post, la fel cum faceți cu categoriile, și chiar puteți crea fișiere șablon speciale creând un fișier arhivat - post-type .php.

"În același mod în care postările sunt afișate în arhiva lor cu arhive.php, tipurile de postări personalizate vor utiliza arhiva- posttype .php".

Pentru alte informații despre integrarea tipurilor de posturi, despre interogarea tipurilor de posturi și despre funcțiile generale, accesați codul aici.


Integrarea tipurilor de posturi prin Functions.php

Integrarea tipurilor de posturi este pur și simplu o chestiune de includere register_post_type funcţie. Odată ce ați inclus acest lucru în fișierul functions.php, meniul dvs. nav ar trebui să meargă din ceva de genul:

la acest:

Pentru a crea tipuri personalizate de postări, deschideți șabloanele functions.php fișier într-un editor și plasați următoarea funcție în fișier:

 (), 'public' => create_post_type () register_post_type ('mysite_reviews', array (' adevărat, 'menu_position' => 5, 'rewrite' => array ('slug' => 'recenzii')));  add_action ('init', 'create_post_type');

Întreruptă, aceasta adaugă funcția create_post_type, și înregistrează tipul postului mysite_reviews,

 add_action ('init', 'create_post_type'); funcția create_post_type () register_post_type ('mysite_reviews',

S-ar putea să te întrebi de ce i-am denumit post_type mysite_reviews, și nu doar comentarii. Am făcut numele mai vizibil pentru a vă asigura că tipul postului nu va interfera cu numele personalizate de tip post de la alte pluginuri sau teme.

Un alt memento prietenos, tipurile de postări personalizate nu trebuie să depășească 20 de caractere, deoarece limita coloanei bazei de date.

Iată un rezumat al parametrilor tipului de post important pe care l-am stabilit mai sus:

  • etichete - Wordpress ne permite să etichetăm totul de la numele tipului postului la etichetă pentru a adăuga postări noi. O listă completă poate fi găsită aici. În funcția de mai sus, am etichetat numele tipului de post și numele său unic.
  • public - Dacă este setat la true
  • menu_position - Am setat acest lucru la 5, care va plasa tipul de post direct sub "Mesaje". Celelalte destinații de plasare sunt după cum urmează: nul (de mai jos), 0 (sub Media), 20 (sub pagini), 60 (sub primul separator) și 100 (sub separator secundar)
  • rescrie - Pentru ca termenul nostru actual "mysite_reviews" să nu fie pus în URL, am setat slug la "recenzii" care vor fi mult mai bune pe termen lung pentru vizitatorii, link-urile și SEO.

Pentru mai multe informatii

O listă completă a argumentelor parametrilor pentru tipurile de posturi poate fi găsită aici.


Afișarea tipurilor de posturi în teme Wordpress

Deoarece tipurile de posturi Wordpress sunt pur și simplu o extensie a sistemului de clasificare existent, afișarea lor într-o temă este destul de similară cu ceea ce există deja. În prezent, există trei modalități principale de a afișa tipuri personalizate de postări în temele dvs.:

  • Postați interogare
  • Șablon unic de postare
  • Arhivă șablon

Afișarea prin interogare postare

Pentru a afișa noul tip de postare mysite_reviews, veți dori să deschideți fișierul șablon pe care doriți să îl afișați (în cazul meu, de obicei, creez un obicei home.php pentru șabloane) și introduceți următorul cod:

 $ args = array ('post_type' => 'mysite_reviews', 'posts_per_page' => 10); $ loop = noua valoare WP_Query ($ args); în timp ce ($ loop-> have_posts ()): $ loop-> the_post (); titlul(); echo "
„; the_excerpt (); echo "
„; endwhile;

Acest lucru creează pur și simplu o nouă buclă Wordpress care va afișa titlul și fragmentul din cele mai recente 10 intrări din mysite_reviews post tip.

Afișarea prin șablon unic de postare

După cum puteți personaliza modul în care sunt afișate postările individuale prin intermediul fișierului single.php al unei teme, puteți particulariza modul în care se afișează intrările de tip postare individuală. Cel mai simplu mod de a face acest lucru este să creați un duplicat al fișierului single.php al temei dvs. și să îl redenumiți singur posttypename .php. De acolo, puteți personaliza acel fișier la specificațiile dvs. Folosind exemplul de mai sus, am avea nevoie de un singur șablon de post numit single-mysite_reviews.php.

Afișare după șablon de arhivă

În timp ce această caracteristică nu va fi disponibilă înainte de lansarea versiunilor WP 3.1, tipurile de posturi pot fi afișate, de asemenea, prin crearea unui fișier în tema numită arhiva- posttypename .php. Deci, dacă am crea o arhivă pentru tipul postului, am crea un șablon arhivat numit Arhiva-mysite_reviews.php și plasați-o în dosarul nostru de șabloane.

Cu template-ul personalizat tip post, creatorii de teme personalizați pot crea mai ușor site-urile de abonare și de membru, restricționând conținutul acestor postări și pagini specifice la anumite grupuri de utilizatori.


O scurtă prezentare a taxonomiilor WP

Nu voi intra prea mult în detalii aici, deoarece Paul Kaiser a scris deja o prezentare de ansamblu a taxonomiilor și a codului implicat în implementarea funcției (vedeți tutorialul de aici). Cuvântul cheie pe care trebuie să-l amintiți atunci când gândiți la taxonomii este clasificare. Ele sunt similare cu etichetele, dar permit o clasificare mai profundă și mai specifică conținutului.

Într-adevăr, ele sunt o modalitate extrem de puternică de a grupa diverse articole în tot felul de moduri.

De exemplu, spuneți că am folosit opinii post tipul de mai sus. Pentru că voi dori cu siguranță să clasificați tipul postului larg, pot crea taxonomii, cum ar fi:

  • Recenzii de filme
  • Recenzii de carte
  • Recenzii de produse

Cu taxonomii personalizate, aș putea merge chiar mai adânc în clasificarea taxonomiilor de mai sus. Puteam intra în genuri de filme, autori de cărți și pe piețele de produse. Din nou, împreună cu tipurile de posturi, acestea sporesc foarte mult capabilitățile de gestionare a conținutului de la Wordpress.


Integrarea taxonomiilor prin Functions.php

În general, taxonomiile sunt destul de ușor de implementat în dvs. functions.php fişier. Amintiți-vă că puteți merge ierarhic cu ei sau le puteți trata ca niște etichete, deci cu cât mai complexe doriți cu atât mai mare este dificultatea. Oricum, aici este o scurtă descriere a modului de a include aceste în tema dvs..

Din nou, deschideți fișierul functions.php și introduceți următorul cod:

 funcția movie_taxonomy () register_taxonomy ('movie_review', 'mysite_reviews', array ('hierarchical' => true, 'label' => '=>' film-reviews ')));  add_action ("init", "film_taxonomy");

Pentru a rupe acest lucru, mai întâi dăm taxonomiei un nume formal ("movie_review") și îl plasăm sub tipul de post "mysite_reviews", pe care l-am creat mai devreme.

 funcția movie_taxonomy () register_taxonomy ('movie_review', 'mysite_reviews',

Apoi vom trece aceste valori:

 array ('hierarchical' => true, 'label' => 'Film Review', 'query_var' => true, 'rewrite' =>

Aceasta furnizează următoarele argumente:

  • ierarhic - Când este setat la "true", taxonomia va acționa mai mult ca o categorie. Pot exista taxonomii mamă și taxonomii imbricate care să permită o adâncime mai mare a clasificării. Când sunt setate la "false", se comportă ca și tag-uri.
  • eticheta - Ca și în cazul posturilor de mai sus, aceasta este eticheta pe care taxonomia o va primi în mod public.
  • query_var - Când este setat la "true", această taxonomie devine un element care poate fi interogat.
  • rescrie - Aceasta stabilește rescrierea URL-ului. Postările din această taxonomie vor fi afișate ca http://mysite.com/movie-reviews/post title /.

Rezultatul final din administrarea noastră trebuie să arate astfel:

În plus, ne putem scufunda în interfața respectivă și putem adăuga mai multe categorii de clasificare și structură. Această interfață arată similară cu interfața de categorie pe care probabil că o cunoașteți deja.

Din această interfață, puteți edita melodiile diferitelor categorii din taxonomie, puteți crea noi categorii și puteți determina categoriile de părinte și de copil.

Pentru mai multe informatii

O listă completă a parametrilor pentru taxonomii poate fi găsită aici.


Afișarea taxonomiilor în teme Wordpress

În prezent, există trei modalități principale de a afișa tipuri personalizate de postări în temele dvs.:

  • Taxonomie Nori
  • Taxonomie personalizată interogare
  • Listă personalizată de taxonomii

Taxonomie Nori

Așa cum există nori de etichete, există nori taxonomici. Pentru a face mai ușor, atât etichetele, cât și norii folosesc wp_tag_cloud funcţie. Pentru a afișa o serie de categorii de taxonomie într-un nor, vom folosi următorul cod:

  'taxonomy_name_1', 'taxonomy_name_2')); ?>

Pentru mai multe informații despre funcția și argumentele parametrilor săi, accesați codul.

Taxonomie personalizată interogare

Taxonomiile pot fi, de asemenea, incluse în interogări personalizate, la fel ca și în cazul posturilor de mai sus. De exemplu, pentru a afișa conținut din taxonomie MOVIE_GENRE, va trebui să inserăm următorul cod în fișierul nostru de șablon:

 $ args = array ('tax_query' => array ('taxonomy' => 'film_genre', 'field' => 'slug', 'terms' => 'comedy')); query_posts ($ args);

Mai întâi, vom folosi argumentul tax_query astfel încât să putem trece parametrii care ne vor permite să interogăm prin slug sau termeni și să returnăm rezultate de interogare mai exacte. În acest exemplu, am afișat postări etichetate drept "comedie" în taxonomia personalizată "movie_genre". Încă o dată, ca și în cazul posturilor, putem să limităm numărul de postări care revin la această interogare.

Listă de taxonomii personalizate

Pentru a afișa o listă de postări delimitate prin virgulă prin taxonomie, trebuie pur și simplu să punem undeva în buclă următoarele:

 ID, 'nume taxonomie', 'Titlu afișat:', ',', ');?>

Există și alte opțiuni de afișare pentru această listă, iar parametrii pot fi găsiți aici.


Utilizarea tipurilor de posturi și a taxonomiilor în următorul proiect

Acum, când avem nuci și șuruburi, cred că "De ce mă interesează aceste lucruri?" este o întrebare cu adevărat corectă. Posibilitățile cu tipuri de posturi și taxonomii, în special lucrul cu clienții care sunt adesea prea ocupați pentru a gestiona complexitatea unui site, este nesfârșit. Acest lucru, după părerea mea, economisește timp prin crearea de noi funcții de administrare și prin actualizarea pluginurilor și deschide ușile spre noi posibilități cu mult mai puțină muncă (și codare) implicată.

Iată câteva idei pe care le-am avut despre cum să le integrez în activitatea reală:

1. Site-uri de revizuire

În primul rând, un site de revizuire ar putea beneficia de opțiunile de template personalizate enumerate mai sus (single și arhivă)

Iată câteva tipuri de postări și taxonomii pe care le puteți implementa pe un site de recenzare:

  • Tip post - Recenzii de filme
  • taxonomii - Gen, Actor, Director
  • Tip post - Recenzii de carte
  • taxonomii - Gen, autor, editor
  • Tip post - Recenzii de produse
  • taxonomii - Categoria produsului, Preț

2. Site-uri de anunțuri imobiliare

Deși există câteva șabloane bune pentru site-urile de afișare imobiliară, tipurile de posturi și taxonomiile, oamenii creativi fac șabloane personalizate care pot fi ușor întreținute de clienți și de webmasteri. Iată doar câteva idei de utilizat în următorul proiect:

  • Tip post - Anunțurile
  • taxonomii - Zona, Agent, Preț, Camere
  • Tip post - agenţi

3. Listarea evenimentelor

Un lucru pe care Wordpress este foarte lipsit (în opinia mea) este un sistem de management al evenimentului. Tipurile de posturi și taxonomiile ar putea fi ușor de tratat prin oferirea unui sistem de clasificare a evenimentelor lunare în funcție de locație, de zi sau de orice alt sistem de care vă puteți gândi.

4. Site-uri de abonament

Odată cu crearea unui nou tip de post și șablon, puteți crea o categorie premium, personalizată, pentru blogul sau site-ul dvs. Web și puteți integra un gateway de plată pentru a vă crea propriul site de membru.

5. Comerțul electronic

Prin crearea unui tip de post de produs și șablon, puteți adăuga și afișa cu ușurință produse de vânzare pe site-ul dvs. În plus, taxonomiile ar permite organizarea ușoară a produselor.


Unde mergem de aici?

Sper că acest tutorial a explicat tipurile de post și taxonomiile din Wordpress 3.0 și de ce acestea reprezintă o resursă extrem de valoroasă pentru implementarea în proiectele dvs. Știu că există mulți susținători ai pluginurilor (și eu sunt autorul plugin-ului), dar sper că am făcut cazul în care implementarea acestor lucruri este o sarcină foarte simplă și una care va economisi timp atât pentru dvs. cât și pentru clientul dvs. pe termen lung.

Lista ideilor de mai sus este cel mai mic în cel mai bun caz, așadar mi-ar plăcea să aud cum le-ați implementat în proiectele dvs. sau poate alte utilizări pe care nu le-am enumerat.

Vă mulțumesc foarte mult pentru lectură!

Cod