15 Funcții utile WordPress Toate dezvoltatorii ar trebui să știe
WordPress este plin de funcții deosebite pentru dezvoltatorii noștri de folosit. Putem scoate liste de posturi din aer subțire, manipulam aproape totul despre ele, apucăm orice utilizator dorim și afișăm conexiunile social media într-un interval de timp.
Există totuși câteva funcții care par să fie trecute cu vederea din motive necunoscute. Am codat cu WordPress timp de aproximativ 8 ani și ocazional găsesc ceva nou! Hai să ne uităm la o parte din mine funcții favorite neglijate și să învețe cum să le folosiți de-a lungul drumului.
antispambot ()
De obicei, ridică câteva sprâncene cu aceasta, se pare că este una dintre cele mai bine ascunse funcții din baze de date.
înlocuiește caracterele cu entități HTML, care este o modalitate de a mascați adresele de e-mail de la raclete rău.antispambot ()
$ email = '[email protected]'; echo 'Puteți să mă contactați la'. antispambot ($ email). "oricând".
Deși acest lucru este un lucru util, este, de asemenea, un exemplu de motiv pentru care unii oameni critică WordPress - aceasta este o funcție numită oribil. Din citirea numelui funcției, nu aveți nicio idee despre ceea ce face.
human_time_diff ()
Când am învățat prima dată despre această funcție cam acum un an, am crezut că trebuie să fi fost o adăugare recentă pe care am trecut-o cu vederea într-un schimbător de note. Nu chiar…
Această funcție - care scoate diferența dintre două timbre - a fost în versiunea 1.5 (17 februarie 2018!).
Următorul fragment extraordinar pe care l-am împrumutat din cod, arată cât de mult a fost publicată o postare curentă. Utilizează publicați data postului ca fiind primul argument si data curentă ca a doua.
echo "Acest post a fost publicat". human_time_diff (get_the_time ('U'), current_time ('timestamp')). ' în urmă';
get_post_meta ()
Luați-mă aici, știu că aceasta este o funcție bine folosită, totuși, cum funcționează nu este o cunoaștere atât de comună. Mai întâi, prin omiterea celui de-al doilea și al treilea parametru, puteți trageți toate metadatele pentru o postare.
$ all_meta = get_post_meta (14);
Chiar dacă apucați doar datele pentru o singură cheie, tot postmeta este trasă oricum.
Motivul este de fapt destul de logic. Metadatele sunt utilizate în mai multe locuri. Dacă
interoghează baza de date de fiecare dată când a fost folosită, am ajunge la prea multe întrebări. În schimb, dacă trageți metadatele, acestea stochează toate datele și utilizează valorile memorate în cache pentru toate recuperările ulterioare ale metadatelor.get_post_meta ()
wp_upload_bits ()
Această funcție este una dreaptă încărcarea fișierului. În timp ce nu mutați fișierul în folderul de încărcări și îl adăugați la secțiunea de mass-media WordPress, este extrem de convenabil și puteți face întotdeauna restul cu
funcţie.wp_insert_attachment ()
$ upload = wp_upload_bits ($ fișier ['nume'], null, file_get_contents ($ file ['tmp_name']));
Există câteva explicații pentru acest lucru: primul parametru este numele fișierului. Al doilea este depreciat, deci ar trebui setat la null (eyeroll la consistența WordPress). Al treilea parametru este conținutul real al fișierului.
get_post_field ()
În trecut, am văzut câteva exemple în care cineva a scris o buclă pentru a obține un comentariu în comentariu pentru o postare sau a scris o interogare dedicată bazei de date pentru aceasta. Nu aveți nevoie de ele, de ce aveți nevoie
. Această funcție extrage valoarea unui câmp unic pentru o singură postare în baza de date. Să luăm un comentariu!get_post_field ()
Acest post are comentarii.
wpautop ()
Această funcție a ieșit puțin în lumina reflectoarelor, dar este încă relativ necunoscută. Este similar cu nativ PHP nl2br
dar în loc de a crea noi linii, aceasta împachetează conținutul în paragrafe.
Acest lucru este util dacă aveți un câmp de text și doriți să vă asigurați că atunci când utilizatorii creează paragrafe cu pauze cu linii duble, acestea rămân vizibile și în front-end.
Ce spun utilizatorii noștri
wp_is_mobile ()
Această funcție bine numită detectează când un utilizator se află pe un dispozitiv mobil și vă permite să afișați conținut în consecință. Deoarece aceasta este o etichetă condiționată, ea se întoarce la adevărat sau la fals, în funcție de scenariu.
Vizitați site-ul nostru de pe desktop pentru o experiență mai bogată a utilizatorului
wp_redirect ()
Ultimul exemplu prezintă o altă funcție îngrijită:
. Acest lucru ar trebui folosit în locul nativului PHP wp_redirect ()
antet()
funcţie. Funcția de redirecționare WordPress vă permite să setați o adresă URL la care să se redirecționeze și setați, de asemenea, un cod de stare, excelent pentru manipularea redirecționărilor permanente.
// Pentru o adresă URL care nu mai este utilizată wp_redirect ("http://website.com/new-url/", 301);
paginate_links ()
Pun pariu că această funcție își datorează obscuritatea în parte popularității pluginului WP-PageNavi. Implicit WordPress afișează legăturile anterioare / următoare la sfârșitul listei dvs. de postări. WP-PageNavi înlocuiește cu numere de pagină.
Acest lucru se poate face cu o mică lucrare folosind
funcții. Are câțiva parametri, așa că vă recomand să luați o privire la documentație.paginate_links ()
Exemplul de mai jos din codex arată cum îl puteți adăuga la o buclă implicită, dar adăugarea acesteia la buclele personalizate nu este deloc întinsă.
global $ wp_query; $ big = 999999999; // nevoie de un număr întreg echivalent paginate_links (array ('base' => str_replace ($ big, '% #%', esc_url (get_pagenum_link ($ big))), 'format' , 'curent' => max (1, get_query_var ('paginat')), 'total' => $ wp_query-> max_num_pages));
wp_die ()
Această funcție completează PHP a muri()
funcţie. Diferența este că această funcție va afișa un HTML în stil WordPress în locul unui text simplu. Puteți utiliza această funcție pentru a opri executarea PHP. Puteți adăuga mesajul, titlul și argumentele suplimentare care vor fi afișate, de exemplu:
wp_die ("Hopa, nu aveți acces la", "Permisiunea este interzisă");
has_block ()
În versiunea 5.0, WordPress a introdus un editor pe bază de bloc, codificat Gutenberg. Această funcție va identifica dacă conținutul conține un Gutenberg, la fel ca și has_shortcode ()
funcţie. Se va întoarce Adevărat
dacă conținutul conține un bloc, sau fals
dacă nu.
wp_set_script_translations ()
Deoarece o parte din interfața de utilizare WordPress se va muta la JavaScript, este nevoie de o modalitate convenabilă de a înregistra texte traducabile în JavaScript pe care WordPress ar putea să o analizeze și să o înțeleagă. Utilizați această funcție pentru a seta șiruri de caractere traduse pentru scripturile dvs. Mai jos este un exemplu:
wp_enqueue_script ('my-script', plugins_url ('js / my-script.js', __FILE__)); wp_set_script_translations ('my-script', 'mu-text-domain');
register_block_type ()
O altă funcție proeminentă în WordPress 5.0. Această funcție vă permite să înregistrați un nou bloc în noul editor WordPress. Blocul dvs. va apărea în noul editor și îl introduceți .
register_block_type ('my-plugin / new-block', array ('title' => 'New Block', 'icon' => 'megaphone', 'category' => 'render_function_callback' ,));
rest_do_request ()
Această funcție vă permite să efectuați un apel către terminalele WordPress REST API prin PHP. Destul de util când trebuie să preluați o ieșire din API-ul REST pentru a procesa că veți procesa mai departe în partea de PHP în loc de partea de browser (front-end).
$ request = nou WP_REST_Request ("GET", "/ wp / v2 / posts"); $ request-> set_header ('X-WP-Nonce', wp_create_nonce ('wp_rest')); $ response = rest_do_request (solicitare $); $ date = 200 === $ răspuns-> get_status ()? $ răspuns-> get_data (): [];
rest_preload_api_request ()
Atunci când construiți un interfață JavaScript greu în WordPress, de obicei, aveți nevoie de un set de date inițiale încărcate în cadrul paginii. Aceasta este funcția care vă va permite să faceți acest lucru. Această funcție este menită să fie utilizată împreună cu array_reduce
, de exemplu.
// Preload data common. $ preload_paths = array ('/', '/ wp / v2 / types? context = editare', '/wp/v2/ taxonomies? per_page = -1 & context = ,); preload_data = array_reduce ($ preload_paths, 'rest_preload_api_request', array ()); wp_add_inline_script ('wp-api-fetch', sprintf ('wp.apiFetch.use (wp.apiFetch.createPreloadingMiddleware (% s));', wp_json_encode ($ preload_data), 'după');
Concluzie
Acestea sunt doar câteva funcții care par a fi mai puțin cunoscute decât restul. Am descoperit o nouă funcție mare despre fiecare două luni și sunt sigur că prietenii mei dezvoltatori ar putea să ne surprindă chiar mai departe.
Dacă aveți o funcție obscură preferată sau o funcție care ar fi utilă, dar nu este disponibilă, anunțați-ne în comentarii!