Aplicarea categoriilor, a etichetelor și a taxonomiilor personalizate la atașamentele media

Ați fost vreodată frustrat de faptul că WordPress nu vă permite să atribuiți categorii sau etichete imaginilor sau materialelor încărcate?

Imaginați-vă cât de util ar putea fi: puteți crea galerii dinamice de imagini din anumite locuri sau din anumite tipuri (peisaje, rezumate etc.) sau puteți crea pagini de înscriere pentru site-uri cu un număr mare de atașamente PDF.

Vestea minunată este că acest lucru este surprinzător de ușor de realizat. Puteți adăuga categorii și etichete la atașamentele dvs. cu adăugarea unor coduri simple în fișierul funcțiilor de temă sau într-un plugin și puteți crea, de asemenea, o taxonomie personalizată care se aplică atașamentelor.

În acest tutorial vă voi arăta cum să faceți acest lucru și, chiar mai bine, în 10 minute sau mai puțin!

Ce este o taxonomie?

Conform Codului WordPress:

Taxonomia este unul dintre acele cuvinte pe care majoritatea oamenilor nu le auzim sau nu le folosesc. Practic, o taxonomie este o modalitate de a grupa lucrurile împreună.

De exemplu, aș putea să am o grămadă de diferite tipuri de animale. Le pot grupa în funcție de diferite caracteristici și apoi le atribuie numele grupurilor. Acesta este un lucru pe care majoritatea oamenilor îl întâlnesc în clasele de biologie și este cunoscut sub numele de Taxonomia Linnaeană.

În WordPress, o "taxonomie" este un mecanism de grupare pentru unele postări (sau link-uri sau tipuri personalizate de posturi).


Ce veți avea nevoie pentru a completa acest tutorial

O să ai nevoie:

  • O instalare de dezvoltare a WordPress
  • Accesați fișierul funcțiilor temei sau accesul FTP pentru a crea și încărca un plugin, dacă alegeți această metodă în loc de a edita fișierul de funcții
  • Un editor de text

Notă: Vă recomandăm să creați un plugin pentru a adăuga această funcție la site-ul dvs., deoarece aceasta nu este funcționalitate specifică temei și este posibil să aveți nevoie de aceasta dacă decideți să schimbați teme în viitor. Desigur, adăugarea codului la fișierul funcțiilor temei dvs. va funcționa la fel.


Înainte de pornire: Ecranul de editare media

În prezent, ecranul Media Editing este destul de gol, deoarece nu există categorii, etichete sau taxonomii disponibile:

În mod prestabilit, nu aveți opțiunea de a selecta toate categoriile sau etichetele existente - dar puteți schimba acest lucru.


Aplicarea categoriilor în atașamente

Primul pas este să permiteți categoriile pentru atașamente. Faceți acest lucru folosind register_taxonomy_for_object_type () funcţie. În fișierul plugin sau în funcțiile de temă, adăugați următoarele:

 funcția wptp_add_categories_to_attachments () register_taxonomy_for_object_type ('category', 'attachment');  add_action ('init', 'wptp_add_categories_to_attachments');

Salvați fișierul și actualizați ecranul Editare media. Veți vedea că aceste categorii sunt acum disponibile:

O coloană va apărea, de asemenea, pentru categorii în ecranul Biblioteca media, după cum puteți vedea:

Notă: Lucrez cu imaginile aici, dar toate acestea vor funcționa pentru toate tipurile de fișiere de atașament.


Aplicarea etichetelor în atașamente

Dacă preferați să lucrați mai degrabă cu etichete decât cu categorii (sau poate ambele), utilizați aceeași funcție. Adăugați următoarele în fișierul de funcții sau fișierul plugin:

 // aplicați etichetele la funcțiile de atașamente wptp_add_tags_to_attachments () register_taxonomy_for_object_type ('post_tag', 'attachment');  add_action ('init', 'wptp_add_tags_to_attachments');

Ca și înainte, acest lucru va adăuga etichete pe ecranul Media Editing:

De asemenea, va adăuga o coloană "Etichete" pe ecranul Bibliotecii media:


Luând-o mai departe - Crearea unei taxonomii personalizate pentru atașamente

În unele cazuri, este posibil să nu doriți să lucrați cu categoriile sau etichetele existente atunci când clasificați atașamentele, caz în care puteți înregistra o taxonomie personalizată și aplicați-o la postul de tip "atașament".

În exemplul de mai sus am adăugat o etichetă imaginii mele pentru a arăta unde a fost făcută. Să presupunem că vreau să creez o taxonomie ierarhică denumită "Locații", pe care o pot folosi pentru a clasifica și afișa toate imaginile mele.

Faceți acest lucru folosind register_taxonomy () funcţie. În fișierul plugin sau în fișierul de funcții, adăugați următoarele:

 // registrați noua taxonomie care se aplică funcțiilor atașamentelor wptp_add_location_taxonomy () $ labels = array ('name' => 'Locații', 'singular_name' => 'Locație', 'search_items' => 'Toate locațiile', 'parent_item' => 'Locația părintelui', 'parent_item_colon' => 'Locația părintească', 'edit_item' => 'Editare locație', 'update_item' => '=>' Adăugați o nouă locație ',' new_item_name '=>' Nume nou locație ',' nume_menu '=>' Locație ',); $ args = array ('labels' => etichete $, 'hierarchical' => true, 'query_var' => 'true', 'rewrite' => 'true', 'show_admin_column' => 'true';); register_taxonomy ('locație', 'atașament', $ args);  add_action ('init', 'wptp_add_location_taxonomy');

Aceasta creează o taxonomie nouă, ierarhică care poate fi utilizată numai cu atașamente.

Dacă doriți să o aplicați la alte tipuri de conținut, ați înlocui 'atașament' parametru în register_taxonomy () funcția cu o matrice care conține melcii tuturor tipurilor de conținut pe care doriți să le includeți, de exemplu:

 register_taxonomy ("locație", array ("atașament", "post"), $ args);

Ecranul Media Editing afișează acum noua taxonomie:

Pentru că am inclus 'Show_admin_column' argument în codul meu, la fel face și ecranul bibliotecii media:

Si asta e! Acum aveți categorii, etichete și un tip de articol personalizat setat pentru a lucra cu atașamente media.


Sumarul și utilizările pentru această tehnică

După cum ați văzut, este posibil să aplicați categorii și etichete pe atașamente media, cum ar fi imagini și fișiere PDF, utilizând register_taxonomy_for_object_type () funcţie. De asemenea, puteți crea o nouă taxonomie utilizând register_taxonomy () și să o aplicați atașamentelor media, fie pe cont propriu, fie împreună cu alte tipuri de conținut.

Aplicarea taxonomiilor (inclusiv categorii și etichete) la atașamente în acest fel ar putea avea o serie de utilizări practice:

  • Creați un personalizat attachment.php fișier șablon pentru a afișa atașamente imagine într-un stil de galerie, folosind pagini de arhivă pentru a afișa imagini din diferite categorii sau locații.
  • Creați fișiere de șabloane pentru taxonomii sau termeni specifici pentru a afișa atașamente diferit în cadrul site-ului - de exemplu, utilizând taxonomia "locație", puteți crea o taxonomie-locație-uk.php șablon de fișier pentru a afișa o arhivă de imagini din Marea Britanie, cu un stil specific pentru locație adăugat.
  • Categorizați atașamentele PDF într-un site cu un număr mare de ele și utilizați pagini de arhivă pentru a permite afișarea fișierelor pe teme, departamente, tipuri de media sau orice alte variante de care aveți nevoie pentru proiectul dvs..
  • În fișierul șablon pentru o anumită taxonomie, afișați un link către toate fișierele atașate cu termenul interogat aflat sub lista de postări cu termenul respectiv, cu linkuri directe către fișierele de atașament - pentru a face acest lucru, ați folosi două interogări personalizate în fișierul dvs. șablon.

Există multe alte aplicații portențiale pentru acest lucru - în mod eficient înseamnă că puteți lucra cu fișierele de atașament în același mod ca și posturile și tipurile personalizate de posturi, fiind capabil să le interogați și să le arhiveze într-o varietate de moduri.

Cod