Početna » WordPress » 15 Korisne WordPress funkcije koje svi programeri trebaju znati

    15 Korisne WordPress funkcije koje svi programeri trebaju znati

    WordPress je pun sjajnih funkcija za nas koje programeri koriste. Možemo povući popise postova iz zraka, manipulirati gotovo svime o njima, zgrabiti bilo kojeg korisnika i prikazati njihove društvene medijske veze u tren oka.

    Međutim, postoji dosta funkcija koje se iz nepoznatih razloga previđaju. Već 8 godina sam kodirao WordPress, a povremeno i dalje nalazim nešto novo! Pogledajmo neke od mojih omiljene funkcije i naučite kako ih koristiti na putu.

    antispambot ()

    Obično podižem nekoliko obrva ovom, čini se da je to jedna od najsigurnijih funkcija u bazi kodova. antispambot () zamjenjuje znakove s HTML entitetima što je jedan od načina maskirajte adrese e-pošte od zlih strugala.

     $ email = '[email protected]'; echo "Možete me kontaktirati na". antispambot ($ e-pošta). "bilo koje vrijeme". 

    Iako je ovo korisna poslastica, to je i primjer zašto neki ljudi kritiziraju WordPress - to je užasno nazvana funkcija. Od čitanja naziva funkcije nemate pojma što radi.

    human_time_diff ()

    Kada sam prvi put saznao za ovu funkciju prije godinu dana, mislio sam da je to nedavni dodatak koji sam previdio u listi promjena. Ne baš…

    Ova funkcija - koja daje razliku između dvije vremenske oznake - je od verzije 1.5 (to je 17. veljače 2018.).

    Sljedeći veliki isječak koji sam posudio iz kodeksa pokazuje koliko je davno trenutni post objavljen. Ona koristi datum objave posta kao prvi argument i trenutni datum kao drugi.

     echo "Ovaj je post objavljen". human_time_diff (get_the_time ('U'), current_time ('vremenska oznaka')). 'prije'; 

    get_post_meta ()

    Držite se ovdje, znam da je ovo dobro iskorištena funkcija, međutim, kako to funkcionira nije toliko uobičajeno znanje. Prije svega, izostavljajući drugi i treći parametar možete povucite sve metapodatke za post.

     $ all_meta = get_post_meta (14); 

    Čak i ako samo zgrabite podatke za jednu tipku, svi postmeta se ionako izvlače.

    Razlog je zapravo prilično logičan. Metapodaci se koriste na više mjesta. Ako get_post_meta () upituje bazu podataka svaki put kad se koristi, a završit ćemo s previše upita. Umjesto toga, ako povučete metapodatke, sve to sprema i koristi predmemorirane vrijednosti na svim naknadnim dohvatima metapodataka.

    wp_upload_bits ()

    Ova funkcija je ravna prijenos datoteka. Iako ne premješta datoteku u mapu za učitavanje i dodaje je u odjeljak medija za WordPress, to je iznimno zgodno i uvijek možete učiniti ostalo wp_insert_attachment () funkcija.

     $ upload = wp_upload_bits ($ file ['name'], null, file_get_contents ($ file ['tmp_name'])); 

    Nešto je objašnjenje za ovo: prvi parametar je naziv datoteke. Drugi se amortizira tako da bi trebao biti postavljen na null (eyeroll u WordPress dosljednosti). Treći parametar je stvarni sadržaj datoteke.

    get_post_field ()

    U prošlosti sam vidio nekoliko primjera gdje je netko napisao petlju kako bi dobio broj komentara za post ili je napisao namjenski upit za bazu podataka. Ne trebate ih, ono što trebate je get_post_field (). Ova funkcija dohvaća vrijednost jednog polja za jedan post u bazi podataka. Uzmimo broj komentara!

     Ovaj post ima  komentari. 

    wpautop ()

    Ova je funkcija malo izašla u središte pozornosti, ali je još uvijek relativno nepoznata. To je slično PHP izvornom nl2br ali umjesto stvaranja novih linija, to oblozi vaš sadržaj u odlomcima.

    Ovo je korisno ako imate tekstualni okvir i želite se uvjeriti da kada korisnici stvaraju paragrafe s dvostrukim prelomima retka, i oni ostaju vidljivi na prednjoj strani.

     

    Što kažu naši korisnici

    wp_is_mobile ()

    Ova prikladno imenovana funkcija detektira kada je korisnik na mobilnom uređaju i dopušta vam prikaz sadržaja u skladu s tim. Budući da je ovo uvjetna oznaka, vraća true ili false ovisno o scenariju.

      Posjetite našu web-lokaciju na radnoj površini kako biste stekli bogatije korisničko iskustvo  

    wp_redirect ()

    Posljednji primjer pokazuje još jednu urednu funkciju: wp_redirect (). To bi trebalo koristiti umjesto izvornog PHP-a Zaglavlje() funkcija. Funkcija preusmjeravanja WordPress vam omogućuje postavite URL na preusmjeravanje i postavite kôd statusa, izvrsno za rukovanje stalnim preusmjeravanjima.

     // Za URL koji se više ne koristi wp_redirect ('http://website.com/new-url/', 301); 

    paginate_links ()

    Kladim se da ova funkcija duguje svoju nejasnost djelomično i popularnosti WP-PageNavi dodatka. Prema zadanim postavkama WordPress prikazuje prethodne / sljedeće veze na kraju popisa postova. WP-PageNavi to zamjenjuje brojevima stranica.

    To zapravo može biti učinjeno s malo rada pomoću paginate_links () funkcije. Ima dosta parametara pa preporučujem da zavirite u dokumentaciju.

    Sljedeći primjer iz kodeksa pokazuje kako ga možete dodati u zadanu petlju, ali dodavanje u prilagođene petlje nije mnogo rastegljivo.

     global $ wp_query; $ big = 999999999; / / Potreban je nevjerojatno cijeli broj echo paginate_links (niz ('base' => str_replace ($ big, '% #%', esc_url (get_pagenum_link ($ big))), 'format' => '? paged =% #%' , 'trenutni' => max (1, get_query_var ('paged')), 'total' => $ wp_query-> max_num_pages));

    wp_die ()

    Ova funkcija nadopunjuje PHP umrijeti() funkcija. Razlika je u tome što će ova funkcija prikazivati ​​HTML WordPress stil umjesto običnog teksta. Ovu funkciju možete koristiti za zaustavljanje izvršavanja PHP-a. Možete dodati poruku, naslov i dodatne argumente koji će se prikazati, na primjer:

     wp_die ("Ups, nemate pristup" "," Dopuštenje odbijeno "); 

    has_block ()

    U verziji 5.0, WordPress je uveo blok urednika, kodnog naziva Gutenberg. Ova funkcija će identificirati da li sadržaj sadrži Gutenberg, potpuno isti s has_shortcode () funkcija. Vratit će se pravi ako sadržaj sadrži blok ili lažan ako ne.

    wp_set_script_translations ()

    Budući da će se mnogi dijelovi korisničkog sučelja programa WordPress prebaciti na JavaScript, potreban je prikladan način registriranja prevodivih tekstova u JavaScriptu koji WordPress može analizirati i razumjeti. Koristite ovu funkciju za postavljanje prevedenih nizova za svoje skripte. U nastavku je primjer:

    wp_enqueue_script ('moj-skripta', plugins_url ('js / my-script.js', __FILE__)); wp_set_script_translations ('my-script', 'mu-text-domain');

    register_block_type ()

    Još jedna istaknuta funkcija u programu WordPress 5.0. Ova funkcija omogućuje vam registriranje novog bloka u novom WordPress uređivaču. Vaš blok će se pojaviti u novom uređivaču i umetnuti ga .

    register_block_type ('my-plugin / new-block', niz ('title' => 'Novi blok', 'ikona' => 'megaphone', 'category' => 'widgeti', 'render_callback' => 'render_function_callback' ,));

    rest_do_request ()

    Ova funkcija omogućuje upućivanje poziva na WordPress REST API krajnje točke putem PHP-a. Prilično korisno kada trebate dohvatiti izlaz iz REST API-ja da biste obradili proces koji će se dalje odvijati unutar PHP-a umjesto na strani preglednika (front-end).

    $ request = new WP_REST_Request ('GET', "/ wp / v2 / posts"); $ request-> set_header ('X-WP-Nonce', wp_create_nonce ('wp_rest')); $ response = rest_do_request ($ zahtjev); $ data = 200 === $ response-> get_status ()? $ response-> get_data (): [];

    rest_preload_api_request ()

    Prilikom izgradnje korisničkog sučelja s teškim JavaScriptom u programu WordPress obično treba postaviti skup početnih podataka učitanih unutar stranice. To je funkcija koja će vam to omogućiti. Ova je funkcija namijenjena za uporabu u kombinaciji s array_reduce, na primjer.

     // Unaprijed učitajte zajedničke podatke. $ preload_paths = array ('/', '/ wp / v2 / types? context = edit', '/ wp / v2 / taxonomies? per_page = -1 i kontekst = uredi', '/ wp / v2 / themes? status = aktivan' ,); preload_data = array_reduce ($ preload_paths, 'rest_preload_api_request', niz ()); wp_add_inline_script ('wp-api-fetch', sprintf ('wp.apiFetch.use (wp.apiFetch.createPreloadingMiddleware (% s));', wp_json_encode ($ preload_data)), 'poslije'); 

    Zaključak

    Ovo su samo neke od funkcija koje su manje poznate od ostalih. Otkrivam novu sjajnu funkciju na svaka dva mjeseca i siguran sam da bi nas moji prijatelji koji razvijaju mogli još više iznenaditi.

    Ako imate omiljenu funkciju ili funkciju koja bi bila korisna, ali nije dostupna, javite nam u komentarima!