Extensibilitatea câmpurilor de carbon 1

Funcționalitatea câmpurilor de carbon este ușor de extins, deoarece biblioteca este scrisă în stilul OOP. Puteți moșteni clase de containere sau câmpuri, aducând ideile în ele și rezolvând o gamă mai largă de sarcini decât este disponibilă din cutie.

Pentru a înțelege mai bine cum funcționează biblioteca, vă sugerăm pas cu pas să creați un nou tip de câmp. La github.com veți găsi un spațiu al unui astfel de câmp, care poate fi editat numai pentru dvs.

Șabloane - cum se schimbă șablonul de câmp în câmpurile de carbon?

Această bibliotecă utilizează în mod activ motorul șablon de sublinieri. Fiecare clasă într-un câmp arbitrar are o metodă șablon. care utilizează șablonul Underscore.

Unele câmpuri au mai multe șabloane. În aceste cazuri, șabloanele suplimentare ar trebui adăugate prin metode separate și înregistrate prin intermediul metodei

În dosarul cu containere / carbon-fields / core / Container / creați fișierul My_Theme_Options_Container.php:

În fișierul de utilizator pe care îl scriem, de exemplu:

Și acum, în loc de legătură:

Care, după cum știți, când va fi trimis la cineva, va arăta astfel:

Va deveni acest lucru (presupunând că pluginurile de transliterare funcționează):

Introduceți valoarea sub formă de HTML curățat.

Pentru ca variabilele să fie disponibile în șablon, utilizați metoda PHP to_json (). Iată un exemplu de adăugare a două variabile noi (numărul de rânduri și înălțimea câmpului):

Cârlige în câmpurile de carbon

Acesta este un mecanism care vă permite să includeți propriile clase și funcționalități la momentul potrivit, în locul potrivit.

Chemată înainte ca câmpurile să fie înregistrate.

Chemat după înregistrarea tuturor câmpurilor.

(filtru) carbon_template ($ html, $ name)

Se aplică la șablonul html înainte de al plasa în subsolul adminului.

La fel ca și cartelul. numai tu poți specifica numele șablonului.

Container pentru opțiuni tematice

(filtru) carbon__button_label (eticheta $)

Vă permite să modificați textul butonului "Salvați modificările" la unul arbitrar.

Exemplu de creare a unui container:

Exemplu de modificare a textului butonului bazat pe exemplul de mai sus:

Extensibilitatea câmpurilor de carbon 1

Este posibil ca această metodă să nu funcționeze așa cum era de așteptat, dacă utilizați chirilică când specificați un nume pentru container, de exemplu:

O soluție universală a problemei este utilizarea aceluiași design ca și în plug-in-ul însuși:

Domenii pentru relații și asociații

(filtru) carbon_relationship_title ($ titlu, $ nume, $ id, $ type, $ subtype)

Permite schimbarea titlului elementelor de relație / asociere. Este util atunci când implementați relații personalizate / link-uri. Acceptă următorii parametri:

  • titlul $ - titlul articolului
  • $ name - numele câmpului
  • $ id - post ID, taxonomie, etc.
  • Tipul $ - tipul principal al obiectului (post, termen, utilizator, comentariu etc.)
  • $ subtype - subtip, completarea principalului (pagină, post, categorie etc.)

Extensibilitatea câmpurilor de carbon 1

(filtru) carbon_relationship_comment_length (număr $, nume $)

  • int $ number - numărul de caractere (implicit 30)
  • șir $ name - numele câmpului relație / asociere.

Să avem un câmp de relație numit asociație și

(filtru) carbon_relationship_options__post_ (opțiuni $)

Vă permite să modificați parametrii disponibili ai câmpului relație sau de asociere cu numele și tipul postării.

De exemplu, am creat un câmp de asociere numit my_association și indicat să fie afișat în tipul de pagină postare (în paginile), iar numele filtrului va fi:

Filtrul din codul plugin-ului este declarat astfel:

Aceasta înseamnă că putem interveni în solicitare prin modificarea parametrilor, de exemplu, limitând încărcarea postărilor cu numărul:

Rețineți dubla subliniere __ în numele cârligului. Rețineți că atunci când salvați câmpurile de carbon la începutul numelui câmpului, acesta adaugă o subliniere inferioară. Când se creează numele cârligului, se utilizează un prefix sub forma unui subliniere inferioară pentru separarea părților componente. Ca rezultat, prefixul și începutul denumirii câmpului ne dau un subliniere dublă.

(filtru) carbon_relationship_options__taxonomy_ (opțiuni $)

Principiul de funcționare, ca filtrul anterior. Vă permite să modificați parametrii disponibili ai câmpului relație / asociere cu numele din taxonomie.

Același exemplu este cu my_association:

(filtru) carbon_relationship_options__user (opțiuni $)

Totul funcționează după aceleași reguli ca și cârligele anterioare similare.

Schimbarea parametrilor poate fi utilă, de exemplu, când trebuie să vă excludeți de pe lista asociațiilor:

(filtru) carbon_relationship_options__comment (opțiuni $)

Funcționează pe aceleași reguli ca și cârligele anterioare similare.

(filtru) carbon_relationship_options ($ opțiuni, $ name)

Un filtru comun prin care trece întreaga gamă de opțiuni de câmp pentru asociații și linkuri.

Variabila $ name este numele câmpului cu un subliniere de la început, de exemplu _my_association.

În variabila $ opțiuni este întreaga gamă de date, iată un extras dintr-o matrice similară:

De exemplu, fără a fi necesară editarea fișierului de traducere, puteți modifica eticheta la oricare dintre cele dorite, în funcție de tip. Sau poate, pe baza tipului, adăugați date noi la matrice și apoi le folosiți în șablonul de ieșire al câmpului din panoul de administrare.

Câmp pentru formatul de gravitate

Google harta câmp

Plug-in-ul are o cheie proprie pentru lucrul cu API-ul Google Maps, dar dacă trebuie să folosiți propriul dvs. - acest filtru vă va ajuta:

WordPress-dezvoltator. Dezvoltarea siturilor și a debarcărilor. Finalizarea proiectelor existente. Menținerea resurselor.