Koduleht » WordPress » 15 Kasulikud WordPressi funktsioonid Kõik arendajad peaksid teadma

    15 Kasulikud WordPressi funktsioonid Kõik arendajad peaksid teadma

    WordPress on meie arendajatele täis suurepäraseid funktsioone. Me võime postitusnimekirju õhukestest õhudest välja tõmmata, manipuleerida peaaegu kõigega nende kohta, haarata kõik kasutajad, keda me soovime, ja näidata oma sotsiaalse meedia ühendusi.

    Siiski tundub, et tundmatutel põhjustel jäetakse tähelepanuta mõned funktsioonid. Ma olen WordPressiga kodeerinud umbes 8 aastat ja mõnikord leidsin ikka veel midagi uut! Vaatame mõnda minu lemmik tähelepanuta jäetud funktsioonid ja õppida, kuidas neid teel kasutada.

    antispambot ()

    Tavaliselt tõstatan selle silmaga mõned kulmud, see näib olevat üks kõige paremini peidetud funktsioone koodibaasis. antispambot () asendab märgid HTML-üksustega, mis on üks viis maskeerida e-posti aadresse paha kaabitsatelt.

     $ email = '[email protected]'; echo 'Sa võid minuga ühendust võtta'. antispambot ($ email). "igal ajal". 

    Kuigi see on kasulik tidbit, on see ka näide sellest, miks mõned inimesed kritiseerivad WordPressi - see on kohutav nimetus. Funktsiooninime lugemisel pole teil aimugi, mida ta teeb.

    human_time_diff ()

    Kui ma esimest korda selle funktsiooni kohta õppisin umbes aasta tagasi, siis arvasin, et see oli olnud hiljutine lisamine, mida ma muutuste puhul unustasin. Mitte päris…

    See funktsioon, mis väljendab kahe ajatempli vahe, on olnud alates versioonist 1.5 (see on 17. veebruar 2018!).

    Järgmine suur kood, mida ma koodikoodilt laenutasin, näitab, kui kaua aega tagasi ilmus praegune postitus. See kasutab avaldada esimese argumendina postituse kuupäev ja praegune kuupäev kui teine.

     echo "See postitus avaldati". human_time_diff (get_the_time ('U'), praegune aeg ("timestamp")). "tagasi"; 

    get_post_meta ()

    Olge siin siin, tean, et see on hästi kasutatav funktsioon, aga kuidas see toimib, ei ole nii üldtuntud. Esiteks, jättes välja teise ja kolmanda parameetri tõmmake kõik postituse metaandmed.

     $ all_meta = get_post_meta (14); 

    Isegi kui haarad ainult ühe võtme andmed, tõmmatakse kõik postmeta.

    Põhjus on tegelikult üsna loogiline. Metaandmeid kasutatakse mitmes kohas. Kui get_post_meta () küsib andmebaasi iga kord, kui seda kasutasime, siis me lõpetame liiga palju päringuid. Selle asemel, kui tõmmata metaandmeid, salvestab see kõik ja kasutab kõigi järgnevate metaandmete otsingute vahemällu salvestatud väärtusi.

    wp_upload_bits ()

    See funktsioon on sirgjooneline faili üleslaadimise funktsioon. Kuigi see ei liiguta faili üleslaadimiskataloogi ja lisab selle WordPressi meediasektsioonile, on see äärmiselt mugav ja sa saad alati ülejäänud teha wp_insert_attachment () funktsiooni.

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

    Selle kohta on olemas mõned selgitused: esimene parameeter on faili nimi. Teine väärtus amortiseeritakse, nii et see peaks olema nulliks (eyeroll WordPress'i järjepidevusel). Kolmas parameeter on faili tegelik sisu.

    get_post_field ()

    Varem ma nägin üsna paljusid näiteid, kus keegi kirjutas kontole kommentaaride arvu, või kirjutas selle jaoks spetsiaalse andmebaasi päringu. Sa ei vaja neid, mida vajate get_post_field (). See funktsioon otsib ühe põllu väärtuse ühe postituse jaoks andmebaasis. Haara kommentaaride arv!

     See postitus on  kommentaarid. 

    wpautop ()

    See funktsioon on veidi tähelepanu keskpunktis, kuid see on siiski suhteliselt tundmatu. See on sarnane PHP natiivsele nl2br kuid mitte uute liinide loomise asemel mähib teie sisu lõigetesse.

    See on kasulik, kui teil on tekstikast ja soovite veenduda, et kui kasutajad loovad lõigud kahe reaga katkestustega, jäävad need ka esiosas nähtavaks.

     

    Mida meie kasutajad ütlevad

    wp_is_mobile ()

    See tabavalt määratud funktsioon tuvastab, kui kasutaja on mobiilseadmes ja võimaldab teil vastavalt kuvada sisu. Kuna tegemist on tingimusliku sildiga, siis sõltub see stsenaariumist tõsi või vale.

      Külastage meie veebisaiti oma töölaual rikkamate kasutajate kogemuste saamiseks  

    wp_redirect ()

    Viimane näide näitab teist puhta funktsiooni: wp_redirect (). Seda tuleks kasutada PHP kohaliku asemel päis () funktsiooni. WordPressi ümbersuunamise funktsioon võimaldab teil määrake URL suunamiseks ja seadistage ka olekukood, suured ka püsivate ümbersuunamiste käsitlemiseks.

     // URL-i puhul, mida enam ei kasutata wp_redirect ('http://website.com/new-url/', 301); 

    paginate_links ()

    Vean kihla, et see funktsioon võlgneb osaliselt WP-PageNavi plugina populaarsuse tõttu. Vaikimisi WordPress kuvab teie postiloendi lõpus eelmised / järgmised lingid. WP-PageNavi asendab selle leheküljenumbritega.

    Seda saab tegelikult teha vähe tööd kasutades paginate_links () funktsioone. Sellel on üsna vähe parameetreid, nii et ma soovitaksin dokumente tutvustada.

    Järgmine näide koodist näitab, kuidas saate selle vaikesilmusesse lisada, kuid selle lisamine kohandatud silmustesse ei ole palju venitus.

     globaalne $ wp_query; $ big = 999999999; // vajavad ebatõenäolist täisarvu echo paginate_links (massiiv ('base' => str_replace ($ big,%%%, esc_url (get_pagenum_link ($ big))), 'formaat' => '? paged =% #%' , 'current' => max (1, get_query_var ('paged')), 'kokku' => $ wp_query-> max_num_pages));

    wp_die ()

    See funktsioon täiendab PHP-d surema () funktsiooni. Erinevus on selles, et see funktsioon kuvab lihtsalt lihtteksti asemel WordPress-stiilis HTML. Seda funktsiooni saab kasutada PHP täitmise lõpetamiseks. Saate lisada kuvatava sõnumi, pealkirja ja täiendavad argumendid, näiteks:

     wp_die ("Vabandust, teil pole juurdepääsu", "Luba keelatud"); 

    has_block ()

    Versioonis 5.0 tutvustas WordPress plokkpõhist redaktorit, nimega Gutenberg. See funktsioon tuvastab, kas sisu sisaldab Gutenbergi has_shortcode () funktsiooni. See läheb tagasi tõsi kui sisu sisaldab plokki või vale kui see nii ei ole.

    wp_set_script_translations ()

    Kuna paljud WordPressi kasutajaliidese osad liiguvad JavaScripti, vajab see mugavat viisi, kuidas registreerida tõlgitavad tekstid JavaScripti, mida WordPress võiks analüüsida ja mõista. Kasutage seda funktsiooni, et määrata oma skriptidele tõlgitud stringid. Allpool on näide:

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

    register_block_type ()

    Teine oluline funktsioon WordPress 5.0-s. See funktsioon võimaldab teil uue ploki registreerida uude WordPressi redaktorisse. Teie plokk ilmub uude redaktorisse ja sisestab selle .

    register_block_type ('minu plugin / new-block', massiiv ('title' => 'uus plokk', 'ikoon' => 'megafon', 'kategooria' => vidinad ',' render_callback '=>' render_function_callback ' ,));

    rest_do_request ()

    See funktsioon võimaldab teil helistada WordPress REST API lõpp-punktidele PHP kaudu. Päris kasulik, kui vajate REST API väljundi, et töödelda, mida töötate edasi PHP poolel, mitte brauseri (esiotsa) poolel.

    $ 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 === $ vastus-> get_status ()? $ response-> get_data (): [];

    rest_preload_api_request ()

    JavaScript-raskete kasutajaliideste ehitamisel WordPressis vajab tavaliselt lehekülje alguses esitatud algandmete kogumit. See on funktsioon, mis võimaldab teil seda teha. See funktsioon on mõeldud kasutamiseks koos array_reduce, näiteks.

     // Ühiste andmete eellaadimine. $ preload_paths = array ('/', '/ wp / v2 / tips? kontekst = redigeeri', '/ wp / v2 / taksonoomiad? per_page = -1 & kontekst = redigeeri', '/ wp / v2 / teemad? olek = aktiivne' ,); preload_data = array_reduce ($ preload_paths, 'rest_preload_api_request', massiiv ()); wp_add_inline_script ('wp-api-fetch', sprintf ('wp.apiFetch.use (wp.apiFetch.createPreloadingMiddleware (% s));', wp_json_encode ($ preload_data)), 'pärast'; 

    Järeldus

    Need on vaid mõned funktsioonid, mis paistavad olevat vähem tuntud kui ülejäänud. Ma avastan uue suure funktsiooni iga kahe kuu tagant ja ma olen kindel, et minu arendajad saavad sealt üllatada veelgi.

    Kui teil on lemmik varjatud funktsioon või funktsioon, mis oleks kasulik, kuid pole kättesaadav, andke meile oma kommentaarides teada!