Cuprins
De multe ori, ca dezvoltatori, trebuie să creăm conținut personalizat sau anumite funcționalități într-un mod organizat și să înregistrăm propriile noastre valori și câmpuri pe care Wordpress nu le are în mod implicit, este de asemenea important ca acesta să fie reutilizabil.Caut în directorul șablon fișierul functions.php, aici, de exemplu, în șablonul Twenty ten.
În interiorul fișierului ne uităm dacă funcția există add_theme_support ('post-miniaturi') care este cea care permite utilizarea imaginilor în miniatură, dacă nu este, o voi adăuga și, de asemenea, voi adăuga o variabilă pentru o anumită dimensiune.
În acest caz, șablonul are deja suport pentru miniaturi, așa că am adăugat doar dimensiunea mea personalizată.
Aceasta înseamnă că, atunci când atribuiți proprietatea-degetului mare unei imagini, aceasta va fi automat dimensionată la 80 pixeli lățime cu 80 pixeli înălțime.
Începem să creăm funcționalitatea pentru aceasta, este mai bine să separăm codul, acesta ar putea fi pus la sfârșitul fișierului funcții, dar pentru a funcționa mai ordonat îl vom pune într-un director Componente (editați)
unde vom crea un fișier numit real estate.php, deci avem componenta separată.
_x („Proprietate imobiliară”, „nume general tip postare”), „nume_ singular” => _x („Proprietate imobiliară”, „nume singular tip postare”), „add_new” => _x („Imobil imobiliar nou”, „real estate '),' add_new_item '=> __ ("Proprietate nouă"),' edit_item '=> __ ("Editați proprietatea"),' new_item '=> __ ("Proprietate nouă"),' view_item '=> __ ( "Vizualizați proprietatea"), 'search_items' => __ ("Căutați proprietatea"), 'not_found' => __ ('Fără proprietate găsită'), 'not_found_in_trash' => __ ('Fără proprietate'), 'parent_item_colon' = > ''); // Creez argumentele pentru baza de date $ inmobiliaria_args = array ('labels' => $ inmobiliaria_labels, 'public' => adevărat, 'public_queryable' => adevărat, 'show_ui' => adevărat, 'query_var' => adevărat, 'rewrite' => true, 'hierarchical' => false, 'menu_position' => null, 'capability_type' => 'postare', 'supports' => matrice ('title', 'extras', 'editor', ' miniatură '),' menu_icon '=> get_bloginfo (' template_directory ').' /images/photo-album.png.webp '// 16x16 png dacă doriți o pictogramă); // Înregistrați post register_post_type ('inmobiliaria', $ inmobiliaria_args); ?> var13 ->
Apoi îl includem în fișierul functions.php la sfârșit sau într-o secțiune pentru componente, în acest caz îl punem împreună cu celelalte configurații.
Vom introduce administratorul nostru wordpress, în cazul în care este activ, ar trebui să actualizăm sau să închidem sesiunea și să reintroducem pentru a actualiza modificările făcute în fișierul functions.php, care este cel care invocă componenta.
După cum putem vedea, a fost adăugat un nou imobiliar pentru a ne putea gestiona propriile date pentru această componentă de postare personalizată.
De asemenea, vom crea unele categorii sau taxonomii, astfel încât aplicația noastră să fie mai completă. De exemplu, tipul de proprietate, casă, apartament etc. și altul pentru provincii. Pentru aceasta, în fișierul imobiliar de mai jos vom adăuga următorul cod, fiecare bloc este o categorie și le-am putea crea pe cele dorite.
true, 'label' => 'Tipuri de proprietăți', 'singular_label' => 'Tip', 'rewrite' => true)); }?> var13 -> true, 'label' => 'Provincii', 'singular_label' => 'provincie', 'rewrite' => adevărat)); }?> var13 ->
Atunci când ne actualizăm administratorul wordpress, putem vedea ambele categorii în meniul imobiliar.
Listarea propriilor noastre date
Intrările wordpress și pagina din administrator au întotdeauna aceleași date de titlu, autor și dată, în acest caz trebuie să listăm datele componentei imobiliare. Pentru aceasta vom personaliza coloanele listei
'', 'title' => 'Titlu', 'photo' => 'Fotografie', 'type' => 'Tipul proprietății', 'province' => 'Provincie', 'date' => 'Data',); returnează $ coloane; }?> var13 ->
După indicarea titlurilor și tipului de coloane care urmează să fie afișate, procedăm la atribuirea datelor din interogările pe care le vom efectua în baza de date și alocăm datele fiecărei coloane, în acest caz căutăm categoriile cu funcția wordpress get_the_term_list ().
ID, 'tip', '', ',', ''); pauză; caz 'provincie': echo get_the_term_list ($ post-> ID, 'provincie', '', ',', ''); pauză; }} // adăugați imagini în miniatură în coloana add_filter ('manage_posts_columns', 'showphoto', 5); add_filter ('manage_pages_columns', 'showphoto', 5); add_filter ('manage_custom_post_columns', 'showphoto', 5); // Adăugați funcția coloană showphoto ($ cols) {$ cols ['photo'] = __ ('Miniatură'); returnează $ cols; }?> var13 ->
În cazul imaginii, creăm o funcție pentru a căuta fotografia și a o adăuga custom_post_columns Dacă dorim, îl putem adăuga și pentru a fi acceptat pentru postări și pagini, în afară de componenta noastră, altfel eliminăm acele linii.
<? // adăugați imagini în miniatură în coloană
add_filter ('manage_posts_columns', 'showphoto', 5);
add_filter ('manage_pages_columns', 'showphoto', 5);
add_filter ('manage_custom_post_columns', 'showphoto', 5);
// Adăugați coloana
funcție showphoto ($ cols) {
$ cols ['photo'] = __ ('Miniatură');
returnează $ cols;
}
?>
Salvăm fișierul real estate.php unde am făcut aceste modificări și am actualizat pagina de administrator wordpress. Vom testa aplicația noastră prin înregistrarea unei proprietăți, pentru aceasta vom înregistra anterior Tipurile de categorii de proprietăți: Casă, Apartament, Teren etc.
Apoi vom înregistra unele provincii Barcelona, Madrid etc.
Apoi mergem la meniu Proprietăți> Proprietate nouă și înregistrăm datele ca o intrare wordpress normală, doar că vom avea categoria și o imagine sau o fotografie de inserat ca imagine prezentată.
Amintiți-vă că imaginile vor fi dimensionate la 80 x 80 pixeli pentru lista de proprietăți, am definit-o în dimensiunea noastră personalizată imobil-degetul mare, deci cel mai bun lucru este că folosim imagini pătrate astfel încât să nu fie tăiate, ideal ar fi 500x500 pixeli.
Apoi, atunci când salvăm modificările, putem accesa lista de proprietăți și vom vedea coloanele noastre personalizate, cu toate funcționalitățile activate pentru a căuta, filtra, sorta alfabetic sau a vedea doar unele provincii etc.
Acest lucru va fi foarte ușor de administrat și putem adăuga și mai multe funcționalități dacă trebuie să modificăm tipul de postare personalizată sau tipul de postare personalizat. În ceea ce privește reutilizarea, componenta este optimă, deoarece dacă dorim să o folosim într-un alt proiect, copiem pur și simplu tipul de post personalizat, îl includem în fișierul nostru functions.php și îl vom avea la dispoziție pentru a fi folosit fără a fi nevoie să îl reprogramăm.
Apoi, cu un cod simplu, putem arăta acest lucru pe pagina principală sau într-o secțiune a site-ului nostru web, căutăm după provincie sau după tipul de proprietate.
De asemenea, putem extinde componenta adăugând mai multe funcționalități sau completând-o cu alte pluginuri, de exemplu pentru a o implementa în mai multe limbi cu Qtraslator sau adăugați mai multe imagini Imagini recomandate multiple pentru a avea mai multe imagini prezentate și pentru a crea o galerie foto pentru fiecare proprietate.
Schimbarea unor linii ar putea fi folosită și pentru o agenție de vehicule în care categoriile erau mărci și modele de vehicule sau pentru o agenție de turism în care am avea pachete și destinații, posibilitățile sunt infinite, totul depinde de nevoi și de imaginația noastră.