15 Uporabne WordPress funkcije, ki bi jih morali poznati vsi razvijalci
WordPress je poln odličnih funkcij, ki jih lahko uporabljamo za razvijalce. Seznami objav lahko povlečemo iz zraka, manipuliramo z njimi skoraj vse, zgrabimo vse uporabnike, ki jih želimo, in prikažemo njihove socialne povezave v trenutku.
Vendar pa obstaja kar nekaj funkcij, ki se zdijo spregledane iz neznanih razlogov. Sem bil kodiranje z WordPress za približno 8 let in občasno sem še vedno našli nekaj novega! Poglejmo nekaj svojih najljubše spregledane funkcije in se naučite, kako jih uporabljati na poti.
antispambot ()
Običajno dvignem obrvi s tem, zdi se, da je ena najbolj dobro skritih funkcij v bazi kode..
nadomešča znake z enotami HTML, kar je eden od načinov e-naslove od zlobnih strgala.antispambot ()
$ email = '[email protected]'; echo "Lahko me kontaktirate ob". antispambot ($ email). "kadarkoli".
Čeprav je to koristna malenkost, je tudi primer, zakaj nekateri ljudje kritizirajo WordPress - to je strašno imenovana funkcija. Od branja imena funkcije ne veste, kaj počne.
human_time_diff ()
Ko sem se prvič naučil o tej funkciji pred približno letom dni, sem mislil, da je bil nedavni dodatek, ki sem ga spregledal v spremembi. Ne čisto…
Ta funkcija - ki prikaže razliko med dvema časovnima žigoma - je bila od različice 1.5 (to je 17. februar 2018!).
Naslednji veliki odrezek, ki sem ga sposodil iz kodeksa, kaže, kako dolgo je bilo objavljeno trenutno objava. Uporablja datum objave objave kot prvi argument in trenutni datum kot drugi.
echo "Ta objava je bila objavljena". human_time_diff (get_the_time ('U'), trenutni_čas ('časovni žig')). 'nazaj';
get_post_meta ()
Sprejmite me tukaj, vem, da je to dobro uporabljena funkcija, vendar to, kako deluje, ni tako sploh znano. Najprej z opustitvijo drugega in tretjega parametra povlecite vse metapodatke za delovno mesto.
$ all_meta = get_post_meta (14);
Tudi če zgolj zgrabite podatke za en sam ključ, se vse postmeta vseeno potegne.
Razlog je pravzaprav precej logičen. Metapodatki se uporabljajo na več mestih. Če
poizveduje bazo podatkov vsakič, ko je bila uporabljena, bi končali s preveč poizvedbami. Namesto tega, če vlečete metapodatke, vse to predpomni in uporabi predpomnjene vrednosti za vse poznejše pridobitve metapodatkov.get_post_meta ()
wp_upload_bits ()
Ta funkcija je naravnost navzgor funkcija za nalaganje datotek. Medtem ko se datoteka ne premakne v mapo za nalaganje in jo doda v oddelek za medije WordPress, je zelo priročno in vse ostalo lahko storite z
funkcijo.wp_insert_attachment ()
$ upload = wp_upload_bits ($ file ['name'], null, file_get_contents ($ file ['tmp_name']));
Nekatera razlaga je na voljo za to: prvi parameter je ime datoteke. Drugi je amortiziran, zato ga je treba nastaviti na nič (eyeroll pri WordPress doslednosti). Tretji parameter je dejanska vsebina datoteke.
get_post_field ()
V preteklosti sem videl kar nekaj primerov, ko je nekdo napisal zanko, da bi dobil komentar za objavo, ali pa je napisal poizvedbo za namensko bazo podatkov. Ne potrebujete jih, kar potrebujete
. Ta funkcija pridobi vrednost enega polja za eno delovno mesto v zbirki podatkov. Poglejmo komentar!get_post_field ()
Ta objava je komentarjev.
wpautop ()
Ta funkcija je prišla v ospredje malo, vendar je še vedno relativno neznana. Podobno je domačemu jeziku PHP nl2br
ampak namesto ustvarjanja novih vrstic vašo vsebino ovije v odstavkih.
To je uporabno, če imate besedilno polje in želite zagotoviti, da ko uporabniki ustvarijo odstavke z dvojnimi prelomi vrstic, ostanejo vidni tudi na sprednji strani..
Kaj pravijo naši uporabniki
wp_is_mobile ()
Ta prikladno imenovana funkcija zazna, kdaj je uporabnik na mobilni napravi, in vam omogoča, da ustrezno prikažete vsebino. Ker je to pogojna oznaka, vrne true ali false glede na scenarij.
Obiščite našo spletno stran na namizju za bogatejšo uporabniško izkušnjo
wp_redirect ()
Zadnji primer prikazuje še eno čisto funkcijo:
. To je treba uporabiti namesto PHP native wp_redirect ()
header ()
funkcijo. Funkcija preusmerjanja WordPress vam omogoča nastavite URL na preusmeritev in nastavite tudi kodo stanja, odlična tudi za ravnanje s trajnimi preusmeritvami.
// Za URL, ki ni več v uporabi wp_redirect ('http://website.com/new-url/', 301);
paginate_links ()
Stavim, da ta funkcija zaradi svoje nejasnosti delno pripisuje priljubljenosti dodatka WP-PageNavi. Privzeto WordPress prikaže prejšnje / naslednje povezave na koncu seznama objav. WP-PageNavi nadomesti s številkami strani.
To lahko dejansko naredite z malo dela z uporabo
funkcije. Ima kar nekaj parametrov, zato vam priporočam, da si ogledate dokumentacijo.paginate_links ()
Naslednji primer iz kodeksa prikazuje, kako ga lahko dodate v privzeto zanko, vendar dodajanje k zankam po meri ni preveč raztegljivo.
global $ wp_query; $ big = 999999999; // potrebujejo neverjetno celo echo paginate_links (array ('base' => str_replace ($ big, '% #%', esc_url (get_pagenum_link ($ big))), 'format' => '? paged =% #%' , 'current' => max (1, get_query_var ('paged')), 'total' => $ wp_query-> max_num_pages));
wp_die ()
Ta funkcija dopolnjuje PHP die ()
funkcijo. Razlika je v tem, da bo ta funkcija prikazala HTML v stilu WordPress namesto navadnega besedila. To funkcijo lahko uporabite za zaustavitev izvajanja PHP. Dodate lahko sporočilo, naslov in dodatne argumente, ki jih želite prikazati, na primer:
wp_die ("Ups, nimate dostopa do", "Dovoljenje zavrnjeno");
has_block ()
V različici 5.0 je WordPress predstavil urejevalnika, ki temelji na blokih, pod kodnim imenom Gutenberg. Ta funkcija bo določila, ali vsebina vsebuje Gutenberg, povsem enako z has_shortcode ()
funkcijo. Vrnil se bo prav
če vsebina vsebuje blok ali false
če ne.
wp_set_script_translations ()
Ker se bo veliko dela uporabniškega vmesnika WordPress preselilo v JavaScript, potrebuje priročen način za registracijo prevedljivih besedil v JavaScriptu, ki bi jih WordPress lahko razčlenil in razumel. S to funkcijo nastavite prevedene nize za vaše skripte. Spodaj je primer:
wp_enqueue_script ('my-script', plugins_url ('js / my-script.js', __FILE__)); wp_set_script_translations ('my-script', 'mu-text-domain');
register_block_type ()
Druga pomembna funkcija v WordPressu 5.0. Ta funkcija vam omogoča, da registrirate nov blok v novem urejevalniku WordPress. Vaš blok se bo pojavil v novem urejevalniku in ga vstavil .
register_block_type ('my-plugin / new-block', array ('title' => 'New Block', 'icon' => 'megafon', 'kategorija' => 'pripomočki', 'render_callback' => 'render_function_callback' ,));
rest_do_request ()
Ta funkcija vam omogoča, da pokličete končne točke API-ja WordPress REST prek PHP-ja. Precej uporabno, ko morate pridobiti izhod iz API-ja REST, da boste obdelali, da boste nadaljevali v PHP strani namesto v brskalniku (sprednji strani).
$ request = new WP_REST_Request ('GET', "/ wp / v2 / posts"); $ request-> set_header ('X-WP-Nonce', wp_create_nonce ('wp_rest')); $ response = rest_do_request ($ request); $ data = 200 === $ response-> get_status ()? $ response-> get_data (): [];
rest_preload_api_request ()
Pri izdelavi uporabniškega vmesnika, ki je težak za JavaScript, je v WordPressu običajno potreben niz začetnih podatkov, naloženih na strani. To je funkcija, ki vam bo to omogočila. Ta funkcija je namenjena uporabi v povezavi z array_reduce
, na primer.
// Vnaprej naložite skupne podatke. $ preload_paths = array ('/', '/ wp / v2 / types? context = edit', '/ wp / v2 / taxonomies? per_page = -1 & context = edit', '/ wp / v2 / themes? status = aktivno' ,); 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)), 'after');
Zaključek
To so le nekatere funkcije, za katere se zdi, da so manj znane. Vsakih dva meseca odkrivam novo odlično funkcijo in prepričan sem, da bi nas lahko moji prijatelji razvijalci presenetili.
Če imate najljubšo prikrito funkcijo ali funkcijo, ki bi bila uporabna, vendar ni na voljo, nam to sporočite v komentarjih!