Amintiți-vă de momentele în care trebuia să creați pagini de opțiuni pentru temele noastre? Bineînțeles că da, pentru că avem încă nevoie de ele! Când personalizatorul WordPress nu reușește să se ocupe de funcționalitatea temei, va trebui să creați o pagină suplimentară de opțiuni pentru a oferi o experiență mai bună utilizatorilor dvs..
În timp ce este întotdeauna o opțiune de a crea aceste panouri Opțiuni de la zero, este mai bine să folosiți roțile deja inventate. În această parte a seriei "Toolbox a dezvoltatorului inteligent WordPress", vom trece prin Vafpress, un cadru temeinic pentru tematica WordPress pentru proiectele următoare.
Timp pentru unele controverse: Nu cred că Customizer este gata pentru teme - totuși.
Chiar dacă recunosc că personalizarea este pur și simplu una minunat instrument, pot vedea, de asemenea, că pur și simplu nu este calificat pentru a servi toate funcționalitățile unei chiar simple tematici multi-scop. Stiu, stiu, temele multi-scop sunt temele capitaliste fara suflet, care distrug lumea WordPress ... sau sunt ei? Recunosc că ar fi mai bine dacă temele cu un singur scop ar fi mai populare, dar putem ignora faptul că temele multi-scop sunt prima alegere a majorității agențiilor de design, a personalului liber și chiar a noilor utilizatori WordPress care doresc să construiască un site web pentru afacerile lor?
La sfârșitul zilei, trebuie să ne întrebăm pe noi înșine pentru a înțelege nevoia de opțiuni tematice împotriva Customizer: WordPress pentru WordPress sau WordPress pentru dragul oamenilor? În timp ce susțin WordPress din ce în ce mai standardizat în diverse aspecte, cred că nu putem ignora cerințele comunității de utilizatori a WordPress. La urma urmei, dacă dezvoltatorii ignoră cerințele utilizatorilor, WordPress nu ar fi crescut la fel de mare ca acum.
În plus, nu cred că Customizer-ul ar fi suficient pentru teme unice, fie (încă). Nu avem nici măcar o metodă standardizată și centralizată de a construi părți de conținut (cum ar fi glisoare, meniuri și altele) și oricare ar fi acest lucru, utilizatorii WordPress vor (și vor avea întotdeauna) nevoie de o singură interfață pentru a-și controla temele.
Am pastrat aceasta sectiune scurta, deoarece tema este Vafpress ca un instrument de dezvoltare WordPress si pot sa vorbesc despre "framework-ul optiunii Customizer versus tema" pentru alte mii de cuvinte. Dar nu mă lăsa să-ți taie scurt să te împiedice să comentezi: Mi-ar plăcea să-ți aud vocea!
Inutil să spun în acest moment, dar este obișnuit să se deschidă fiecare secțiune cu o simplă introducere: Vafpress este un cadru tematic de opțiuni. Și una foarte bună, aș spune. Creat de Vafour, o echipă indoneziană de dezvoltare web, Vafpress susține acest lucru construirea unei teme WordPress nu a fost niciodată mai ușoară și mai rapidă.
Pur și simplu descărcați Vafpress din pagina de descărcare oficială sau din depozitul său GitHub și să ajungem rapid la piesele bune.
Începând cu ziua în care scriu acest tutorial, Vafpress are 19 câmpuri de control împărțite în două categorii numite "Fields" și "Multifields".
casetă de text
: Generează o intrare de text.textarea
: Generează a textarea
camp.comutare
: Generează o comutare da / nu.cursor
: Generează un cursor de distanță.încărcați
: Generează un câmp de încărcare folosind WordPress Media Manager.culoare
: Generează un picker de culoare.Data
: Generează un selector de date.codeeditor
: Generează un editor de coduri.wpeditor
: Generează un editor WYSIWYG.fontawesome
: Generează un selector de pictograme folosind Font Awesome.notebox
: Generează un câmp pe care îl puteți utiliza pentru a informa utilizatorii temei.html
: Vă permite să afișați cod HTML personalizat.Selectați
: Generă un simplu
camp.selectare multipla
: Generează un meniu derulant mai multe.Caseta de bifat
: Generează un grup de casete de selectare.checkimage
: Generează un grup de imagini selectabile, care funcționează ca casetele de selectare.buton de radio
: Generează un grup de butoane radio.radioimage
: Generează un grup de imagini selectabile, care funcționează ca niște casete radio.sorter
: Generează un câmp multiselect delimitat.Nu s-ar simți bine dacă nu am terminat această secțiune fără un exemplu - să facem un singur, simplu. Următoarele rânduri de coduri creează un câmp Color Picker:
array (array ('type' => 'color', 'name' => 'example_color_picker', 'label' => 'Color Picker', 'description' => '=>' rgba (255,255,255, .75) ',' format '=>' hex ',), array (// alt câmp)
Această parte poate fi dificilă la început, dar are o curbă netedă de învățare.
Panoul de opțiuni pe care îl putem crea împreună cu Vafpress constă în câteva blocuri:
Să începem prin a vedea construirea "constructorului de opțiuni":
false, // numele setărilor din baza de date 'option_key' => 'vpt_option', // volumul paginii cu opțiuni 'page_slug' => 'vpt_option', // calea către fișierul șablon sau șablonul matricei '=> get_template_directory (). '/options-template.php', // pagina meniului părinte 'menu_page' => 'themes.php', // decide dacă să numească automat meniurile sau nu 'use_auto_group_naming' => true, // show (implicit) sau ascundeți pagina "Export / Import" 'use_exim_menu' => true, // rolul utilizatorului minim pentru a vizualiza panoul de opțiuni 'minimum_role' => 'edit_theme_options', // type of layout = 'fix', // titlul paginii cu opțiuni 'page_title' => __ ('Tema Opțiuni', 'vp_textdomain'), // titlul elementului de meniu principal 'menu_label' => '),)); // introduceți-l la acțiunea after_setup_theme add_action ('after_setup_theme', 'my_options')?>
Un lucru bun în legătură cu "constructorul de pagini de opțiuni" este că puteți indica un fișier separat în care păstrați toate meniurile (și secțiunile din meniuri și câmpurile din secțiuni). În exemplul de mai sus, am arătat un fișier șablon numit Opțiuni de-template.php
. Să vedem ce să completați și acel dosar:
__ ('Controlul special', 'vp_textdomain'), 'name' = '(= > 'menu_2', 'icon' => '/icon/special.png', 'controls' => array (// ... colecție de secțiuni și sau câmpuri de control ...),));
Dacă doriți, puteți face și câteva meniuri imbricate:
__ ("Variabile standard HTML", "vp_textdomain"), "nume", "meniu" => => 'meniu_1', 'icon' => 'font-awesome: icon-magic', 'menus' => array (array = 'regulat', 'vp_textdomain' > "submeniu_1", "icon" => "font-awesome: icon-th-large", "controls" => array (// ... collection of Sections și sau Fields Controls) > __ ('Imagine', 'vp_textdomain'), 'name' => 'submenu_2', 'icon' => 'font-awesome: icon-picture', 'controls' sau câmpuri de control ...),),),));
Și în interiorul matricei „controale“
argumente, folosim ceva asemănător:
("TextBox și TextArea", "vp_textdomain"), 'name' => 'section_1', 'description' => 'fields' => array (// ... colecție de câmpuri de control ...),),)?>
Din nou, acest lucru ar putea să ia puțină practică la început, dar este o plimbare în parc când te obișnuiești cu asta.
Toate aceste caracteristici ar trebui să fie suficiente pentru un cadru ca Vafpress, dar Vafpress nu se oprește acolo - are mai multe trucuri în maneca:
Există multe lucruri pe care le puteți obține cu Vafpress - mai mult decât am acoperit aici în acest tutorial. Asigurați-vă că verificați documentația Vafpress pentru a afla mai multe despre aceasta.
Ce credeți despre Vafpress? Crezi că o să-i dai o șansă în următorul proiect tematic? Spuneți-ne ce credeți în secțiunea Comentarii mai jos. Și dacă ți-a plăcut articolul, nu uita să îl împarți cu prietenii tăi!
Vedeți în partea următoare unde vom trece peste CMB2, metabox, câmpuri personalizate și bibliotecă de formulare pentru WordPress.