Extindeți Instrumentul de editare rapidă pentru termenii de taxonomie

WordPress oferă formularul Quick Edit pentru a gestiona informațiile despre termenii taxonomiei? care este grozav, dar ce dacă doriți să editați mai mult decât numele dvs. de termen și slug? Acest tutorial va explica cum să extindeți această caracteristică minunată WordPress pentru a vă actualiza mai mult decât elementele de bază.


Introducere

Funcția de editare rapidă în WordPress este o unealtă simplă utilizată pentru a permite utilizatorilor să editeze fragmente de date asociate postărilor, paginilor și termenilor, fără a fi nevoie să navigați la o pagină separată înainte de a edita datele. Utilizarea programului Quick Edit este omniprezentă pe tot parcursul WordPress și acest tutorial va învăța cititorii cum să valorifice puterea acestei funcții pentru utilizarea cu termeni de taxonomie. După ce ați lucrat cu următorii cinci pași, veți putea adăuga cu succes datele metadate de taxonomie prin intermediul panoului Quick Edit din WordPress.

  1. Pregătirea unui exemplu practic
    1. Înregistrarea taxonomiei personalizate
    2. Activarea datelor meta-date privind taxonomia
  2. Crearea coloanelor tabelului cu termeni
  3. Adăugarea conținutului la formularul de editare rapidă
  4. Salvarea datelor formularului
  5. Formulare de câmpuri pre-populare

Pasul 1 Pregătirea unui exemplu practic

Pentru a demonstra cum să adăugăm metadatele cu termeni de taxonomie cu Quick Edit, voi lucra printr-un exemplu de atașare a meta-datelor la termenii dintr-o taxonomie "președinte" în contextul unui plugin. Pentru acest exemplu, obiectivul principal va fi atașarea a două fragmente de date meta date fiecărui președinte de taxonomie: data începerii și data de încheiere. O taxonomie a președintelui poate fi utilă pentru un blogger politic care dorește să clasifice postările de către președinți discutate.

Pentru acest exemplu, voi crea un plugin care folosește următoarea structură de director și fișier:

  • rapid-edit
    • js
      • rapid-edit.js
    • rapid-edit.php

Principalul dosar "editare rapidă" trebuie plasat în dosarul pluginuri pentru a fi utilizat ca plugin. Creați această structură de fișiere pentru a vă pregăti pentru restul tutorialului. Dacă este făcută corect, structura fișierului ar trebui să arate ca următoarea imagine.

Pentru a vă asigura că WordPress recunoaște plugin-ul ca plugin, este necesar să adăugați informațiile despre antetul standard al pluginului. Adăugarea următorului comentariu în partea de sus a "quick-edit.php" va permite ca plugin-ul să fie recunoscut de WordPress.

 

După adăugarea informațiilor din antet, activați plugin-ul prin pagina WordPress Plugins. Pluginul exemplu este totul și este gata să meargă pentru restul tutorialului.

Înregistrarea taxonomiei personalizate

Înainte de a sări în adăugarea la formularul Quick Edit, taxonomia președintelui trebuie să fie înregistrată și WordPress trebuie să fie pregătit să se ocupe de meta date termen. Înregistrarea taxonomiilor personalizate nu va fi acoperită în acest tutorial în profunzime, deoarece a fost abordată temeinic în alte locuri. Pentru acest exemplu, trebuie înregistrată o taxonomie "președinte". Această operație va fi completă cu funcția "register_taxonomy".

 funcția my_taxonomies () // Adăugați o nouă taxonomie, faceți-o ierarhică (ca categorii) $ labels = array ('name' => _x __ ("Președintele căutării", "my_plugin"), "all_items" => __ ("Toți președinții", "my_plugin") , 'parent_item' => __ ('Președinte părinte', 'my_plugin'), 'parent_item_colon' => __ (' '),' update_item '=> __ (' Update President ',' my_plugin '),' add_new_item '=> , 'my_plugin'), 'nume_menu' => __ ("Președinții", "my_plugin"),); register_taxonomy ('președinte', array ('post'), array ('hierarchical' => true, 'labels' => etichete $, show_ui '=> true,' query_var '=> true,' rewrite '=> array ("slug" => "președinte")));  add_action ('init', 'my_taxonomies', 10, 1);

Acest fragment de cod creează o nouă taxonomie personalizată de tipul "președinte". Taxonomia este specificată pentru a lucra cu post post "post" și este o taxonomie ierarhică similară cu taxonomia construită în categoria. Pentru a începe lucrurile, populați taxonomia președinților cu ultimii trei președinți ai Statelor Unite:

  • Bill Clinton
  • George W. Bush
  • Barack Obama

Dacă totul a mers corect în acest moment, ar trebui să aveți un link pentru "președinți" din meniul "Mesaje" și ar trebui să aveți un tabel de listă care arată ca imaginea următoare.

În timp ce această lucrare nu a făcut nimic în ceea ce privește sarcina de a activa Quick Edit pentru termenii meta date, a stabilit o taxonomie de lucru cu acest exemplu.

Activarea datelor meta-date privind taxonomia

Următoarea sarcină este aceea de a pregăti WordPress pentru a gestiona datele meta date. În WordPress 2.9, un set de funcții utile au fost adăugate în WordPress core care a pus cea mai mare parte a bazelor pentru meta-management pe termen. Funcțiile "add_metadata", "update_metadata" și "get_metadata" au permis o metodă simplă de gestionare a termenilor meta; totuși, aceste funcții oferă doar o parte din soluție. Pentru a adăuga termenul meta, trebuie mai întâi să adăugați o tabelă în baza de date WordPress pentru aceste funcții pentru a gestiona datele.

Din fericire, Jacob Goldman a scris un plugin minunat, Simple Term Meta, care gestionează această sarcină, oferind dezvoltatorilor funcții utile (de ex., "Add_term_meta", "update_term_meta", "get_term_meta") pentru a gestiona gestionarea termenelor meta. În esență, acest plugin adaugă un metadat API pentru termeni de taxonomie la sistemul WordPress. Așa cum spune dl Goldman:

"WordPress oferă suport pentru meta date pentru postări, utilizatori și comentarii din cutie, dar nu are suport meta pentru termeni de taxonomie (o etichetă, o categorie sau termeni de taxonomie personalizată!) Acest plug-in adaugă suport complet și eficient pentru termenul meta bazat pe post-meta framework-ul construit în WordPress. Adaugă o tabelă "postmeta" și post meta-funcții care ar trebui să fie familiare tuturor celor care au lucrat cu WordPress post meta ".

Pentru exemplul de față, acest plugin trebuie instalat pentru a lucra cu termenul meta. Înainte de a continua, asigurați-vă că descărcați și instalați Simple Term Meta. Cu acest plugin instalat, este timpul să începeți codarea formularului Quick Edit.

"Pentru o discuție extinsă despre gestionarea termenului meta utilizând Simple Term Meta și crearea unui UI pentru adăugarea și editarea meta datelor cu termeni de taxonomie, consultați articolul meu" Adăugarea metadatelor la termenii taxonomiei "."


Pasul 2 Crearea coloanelor din tabelele cu termeni

În imaginea anterioară a paginii taxonomiei președintelui, observați că există patru coloane în tabela cu liste de termeni: Nume, Descriere, Slug și Postări. În cele din urmă, pluginul nostru va atașa fiecărui președinte o dată de începere și de încheiere. Ca și în cazul celorlalte date ale termenului, în acest tabel trebuie să apară data de începere și data de încheiere. Acest obiectiv poate fi ușor realizat cu câteva filtre WordPress.

În primul rând, vor fi adăugate anteturile

 funcția my_column_header ($ coloane) $ columns ['start-date'] = __ ('Data de începere', 'my_plugin'); $ columns ['end-date'] = __ ('Data de încheiere', 'my_plugin'); returnează coloane $;  add_filter ('manage_edit-president_columns', 'my_column_header', 10, 1);

Utilizarea gestiona _ $> ID screen _columns filtru, se adaugă două coloane suplimentare în tabela cu liste de termeni. gestiona _ $> ID screen _columns filtrul trimite un argument la funcția de apel invers my_column_header. Acest argument coloane $ este o serie de coloane pentru ecranul curent.

Prin simpla adăugare a elementelor în matrice și returnarea acelei matrice, se vor adăuga noi coloane în tabela cu liste de termeni. Filtrul gestiona _ $> ID screen _columns este un filtru variabil în care numele real al filtrului se schimbă în funcție de ecranul curent care este vizionat. În cazul vizualizării unei pagini de gestionare a taxonomiei, partea variabilă a filtrului va începe cu "editare" și se va încheia cu numele taxonomiei curente. Din moment ce adăugăm la taxonomia președintelui, această valoare este "președinte", care a fost specificat atunci când taxonomia a fost definită inițial. Utilizați următoarele filtre pentru taxonomiile standard WordPress:

  • Categorii: manage_edit-column_columns
  • Etichete postate: manage_edit-post_tag_columns
  • Categorii de link-uri: manage_edit-link_category_columns

Acum, când se adaugă coloanele, coloanele trebuie să fie pregătite pentru a afișa termenul meta pentru termenii individuali, care se realizează cu următorul fragment de cod.

 funcția my_column_value ($ empty = ", $ custom_column, $ term_id) returnați esc_html (get_term_meta ($ term_id, $ custom_column, true) add_filter ('manage_president_custom_column', 'my_column_value', 10, 3);

Valorile meta sunt adăugate de gestiona _ $ screen> taxonomie _custom_column filtru. Partea variabilă a acestui filtru se referă la taxonomia curentă, care, în acest caz, este "președinte". gestiona _ $ screen> taxonomie _custom_column filtrul acceptă trei argumente:

  • $ gol: un argument depreciat care ar trebui să rămână gol
  • $ custom_column: numele coloanei curente (de exemplu, "data de începere", "data de încheiere")
  • $ term_id: id al termenului de taxonomie prezent

Ultimele două argumente sunt folosite pentru a găsi valoarea valorii meta de interes. Mai târziu, în tutorial, "data de începere" și "data de încheiere" vor fi adăugate la baza de date folosind add_term_meta funcție de termenul meta API furnizat de pluginul Meta Simple Term. Valorile vor fi stocate cu tastele "start-date" și "end-date". get_term_meta funcția ia cheia și termenul id ca argumente pentru a găsi valoarea meta potrivită.

Evident, $ term_id a trimis la my_column_value este termenul id necesar și este astfel utilizat pentru argumentul $ term_id din get_term_meta funcţie. Din fericire, în acest caz, $ COLUMN_NAME variabila este identică cu cea pentru termenul meta. Ca atare, este folosit ca al doilea argument în get_term_meta funcţie.

În cele din urmă, apelul către get_term_meta funcția este înfășurată în esc_html , care este o funcție de formatare WordPress de bază care scapă de pe ecranul HTML.

În acest moment în tutorial, acest cod va returna un șir gol, deoarece nu a fost încă definită meta-termen. Odată ce aceste date sunt adăugate, acestea vor apărea în rândul și coloana corectă în tabelul cu lista de termeni. Cu ultimele două fragmente adăugate, tabela cu termeni începe să se formeze.

Acum, când sunt setate coloanele, este timpul să adăugați la formularul Quick Edit în pregătirea pentru adăugarea termenilor meta termenilor.


Pasul 3 Adăugarea conținutului la formularul de editare rapidă

Adăugarea conținutului la formularul de editare rapidă este cea mai ușoară parte a acestui tutorial; cu toate acestea, există câteva potențiale capcane dacă nu sunteți atenți. quick_edit_custom_box Acțiunea permite accesul ușor pentru a adăuga câmpuri suplimentare la formularul Quick Edit. Următoarea funcție adaugă câmpurile personalizate în formularul de editare rapidă

 funcția my_quick_edit_custom_box ($ column_name, $ screen, $ name) if $ name! = 'președinte' && ($ column_name! = 'start-date' || $ column_name! ?>