Skelbimas
Daugelis tinklaraštininkų ieškos aukšto ir žemo idealaus „WordPress“ valdiklio, kuris atliks būtent tai jie nori, bet turėdami nedaug programavimo patirties, jums gali būti lengviau parašyti savo pasirinktinį variantą valdiklis.
Šią savaitę norėčiau parodyti, kaip tiksliai tai padaryti, ir valdiklis, kurį rašysime, yra paprastas, iš kurio pasirenkamas vienas atsitiktinis įrašas iš jūsų svetainėje, ištraukia pateiktą vaizdą ir parodo jį šoninėje juostoje - vaizdinis valdiklis „pažymėk šį puslapį“, kuris padės vartotojams rasti daugiau turinio jūsų svetainė.
Tai yra ir tęsiamos serijos, kurioje parodysiu, kaip lengva, pratęsimas tinkinkite savo „WordPress“ šabloną 2 nauji „WordPress“ įskiepiai ir „WordPress“ temos struktūros supratimasŠią savaitę apžvelgsiu pranašesnę alternatyvą dažnai giriamam „viskas viename“ SEO; papildinys, suteikiantis „Wordpress“ leidybos sistemos galią, tačiau leidžiantis išvesti ... Skaityti daugiau .
Jums taip pat gali būti malonu žinoti, kad pridėjome naują
„WordPress“ vadovėlių kategorija, naudodamiesi „MakeUseOf“, todėl būtinai patikrinkite, ar ieškote vis populiarėjančių naujausių patarimų ir gairių, mėgstamos pasaulyje tinklaraščių platformos, archyvo.Pagrindinės sąvokos: „WordPress“ užklausos ir ciklas
Kiekvieną savo tinklaraščio puslapį sudaro užklausa į jūsų įrašų duomenų bazę. Atsižvelgiant į žiūrimą puslapį, užklausa pasikeis. Pavyzdžiui, jūsų tinklaraščio pagrindiniame puslapyje gali būti naudojama užklausa „Gaukite naujausius 10 tinklaraščio įrašų“. Peržiūrėdami kategorijų archyvus, užklausa gali pasikeisti į „gaukite naujausius 20 įrašų, skirtų tik kategorijai šeimos nuotraukos, užsakykite rezultatus pagal paskelbimo datą“. Kiekviena užklausa pateiks rezultatų rinkinį, ir, atsižvelgiant į naudojamą puslapio šabloną, kiekvienas rezultatas bus paleistas per pagrindinę šablono „kilpą“.
Kiekvienas puslapis iš tikrųjų gali būti sudarytas iš daugiau nei vienos užklausos, ir jūs netgi galite sukurti savo užklausas, kad pridėtumėte funkcijų įvairiose šablono vietose. Galite pamatyti šio naudojimo pavyzdį šio straipsnio apačioje - turime keletą papildomų užklausų, kurios vykdomos kiekviename puslapyje, kuriame norima parodyti susijusius straipsnius, kurie jus gali sudominti, arba straipsnius, kurie tai domina savaitė.
Vis dėlto, norėdami padaryti tinkintą valdiklį, tiesiog turėsime sukurti papildomą užklausą, kurioje būtų paimtas X atsitiktinių įrašų skaičius ir jų atvaizdai bei jie tam tikru būdu būtų rodomi šoninėje juostoje. Praėjusią savaitę aš jums jau parodė kodą patraukti rodomą vaizdą Nustatykite savo tinklaraštį naudodami „WordPress“: svarbiausias vadovasNorite sukurti savo tinklaraštį, bet nežinote kaip? Pažvelkite į „WordPress“ - galingiausią šiandien pasiekiamą internetinių dienoraščių platformą. Skaityti daugiau , todėl mes tiesiog turime žinoti, kaip sukurti naują „WordPress“ valdiklį ir įdėti jį į šoninę juostą.
Pagrindinis valdiklio kodas
Pradėkite kurdami naują .php failą savo wp-turinys / papildiniai katalogą. Taip pat galėtumėte sekti mokymo programą neprisijungę ir įkelti ją naudodami „WordPress“ sąsają, tačiau manau, kad lengviau rašyti, kai einame kartu, jei reikės derinti. Paskambinkite į failą kaip tik norite, bet aš einu su juo atsitiktinis post-widget.php
Įklijuokite šiuos failus į failą ir išsaugokite. Nesivaržykite pakeisti viršuje esančios skilties, kurioje yra mano vardas, bet dar nesureguliuokite likusio kodo. Iš esmės tai tuščias skeletas valdiklis, ir jūs galite pamatyti, kur jis sako // WIDGET CODE GOES ČIA kur mes vėliau pridėsime savo funkcionalumą.
php. /* Papildinio pavadinimas: Atsitiktinio pranešimo valdiklis. Papildinio URI: http://jamesbruce.me/ Aprašymas: „Atsitiktinio įrašo valdiklis“ paima atsitiktinį įrašą ir susijusią miniatiūrą, kad būtų rodoma šoninėje juostoje. Autorius: Jamesas Bruce'as. Versija: 1. Autoriaus URI: http://jamesbruce.me/ * / „RandomPostWidget“ klasė išplečia „WP_Widget“. {function RandomPostWidget () {$ widget_ops = masyvas ('classname' => 'RandomPostWidget', 'description' => 'Parodo atsitiktinį įrašą su miniatiūra'); $ this-> WP_Widget ('RandomPostWidget', 'Random Post and Thumbnail', $ widget_ops); } funkcijos forma ($ instancija) {$ instancija = wp_parse_args ((masyvas) $ egzempliorius, masyvas ('title' => '')); $ title = $ instancija ['title'];php} funkcijos atnaujinimas ($ new_instance, $ old_instance) {$ instancija = $ old_instance; $ instancija ['title'] = $ new_instance ['title']; grąžinti $ egzempliorių; } funkcijos valdiklis ($ args, $ instancija) {ištrauka ($ args, EXTR_SKIP); echo $ before_widget; $ title = tuščias ($ instancija ['title'])? '': taikyti_filtrus ('valdikliui_pavadinimas', $ egzempliorius ['pavadinimas']); if (! tuščias ($ pavadinimas)) echo $ before_title. $ titulas. $ after_title;; // WIDGET CODE GOES HERE echo " Tai yra mano naujas valdiklis!
"; echo $ after_widget; } } add_action ('valdikliai_init', sukurti_funkciją ('', 'grąžinti registracijos valdiklį („RandomPostWidget“);'));
Kol kas įskiepis ne ką prastesnis, nei išspausdinti didelį pavadinimą su žodžiais „Tai yra mano naujas valdiklis!“.

Tačiau tai suteikia jums galimybę pakeisti pavadinimą, kuris yra būtinas kiekvienam valdikliui. Įtraukti kitas parinktis šiek tiek nepatenka į šio straipsnio taikymo sritį, todėl dabar pereikime prie tikro tikslo.

Nauja užklausa ir ciklas
Norėdami pateikti naują užklausą savo tinklaraščio duomenų bazėje, turite naudoti užklausos_postai () funkciją kartu su keliais parametrais, tada paleiskite išvestį, naudodami tam tikrą kilpą. Pabandykime tai - labai paprasta užklausa ir ciklas, kurį reikia parodyti. Pakeiskite kodo eilutę, kurioje sakoma:
su šiais:
// WIDGET CODE GOES ČIA. užklausos_postai (''); if (have_posts ()): while (have_posts ()): the_post (); Antraštė(); pagaliau; endif; wp_reset_query ();
Tai yra absoliučiai pagrindinė užklausa, naudojant numatytąsias parinktis ir nulinį išvesties formatą. Atsižvelgiant į tai, kaip jūsų tinklaraštis sukonfigūruotas, greičiausiai numatytasis įvykis bus 10 naujausių įrašų - tada visas aukščiau pateiktas kodas yra kiekvieno įrašo pavadinimo išvestis. Tai gana negražu, bet veikia:

Mes galime padaryti tai šiek tiek geresniu iškart, tiesiog pridėdami HTML formatą prie išvesties su ECHO komandą ir sukūrę nuorodą į įrašą naudodami get_the_permalink () funkcija:
užklausos_postai (''); if (have_posts ()): echo "
- “; tuo tarpu (turėti_postus ()): the_post (); aidas “
- „.Get_the_title ()“.
“; pagaliau; aidas “
“; endif; wp_reset_query ();

Jau dabar jis atrodo daug geriau. Bet mes norime tik vieno pranešimo, atrinkto atsitiktinai. Norėdami tai padaryti, užklausoje nurodome keletą parametrų:
query_posts ('posts_per_page = 1 & orderby = rand');
Žinoma, galite pakeisti jį bet kokiu skaičiumi įrašų - iš tikrųjų yra visą eilę papildomų bitų, kuriuos galite perduoti į užklausą norėdami apriboti, išplėsti ar pakeisti rezultatų tvarką, tačiau dabar to laikykimės. Jei atnaujinsite, turėtumėte pamatyti tik vieną įrašą, kuris atsitiktinai parinktas kiekvieną kartą atnaujinant.
Dabar apie rodomą miniatiūrą. Pakeiskite kodą tokiu, tikiuosi, pamatysite, kur mes patraukėme miniatiūrą ir rodome ją:
query_posts ('posts_per_page = 1 & orderby = rand'); if (have_posts ()): echo "
- “; tuo tarpu (turėti_postus ()): the_post (); aidas “
- „.Get_the_title (); echo the_post_thumbnail (masyvas (220 200)); aidas “
“; pagaliau; aidas “
“; endif; wp_reset_query ();
Gautus rezultatus vėl galite pamatyti mano vystymo tinklaraštyje „Savarankiškumo vadovas“, nors aš, skaitydamas šį pranešimą, galbūt viską pakeičiau.

Išvada:
Pažiūrėkite, kaip lengva sukurti savo pasirinktinį valdiklį, kuris gali padaryti tiksliai tai, ko norite? Net jei nesuprantate 90% kodo, kurį jums šiandien rodžiau, vis tiek turėtumėte sugebėti jį šiek tiek tinkinti, tiesiog keisdami kintamuosius arba išvesdami skirtingą HTML. Šiandien parašėme visą valdiklį, tačiau bet kuriame savo puslapio šablone lengvai galėjote naudoti tik naują užklausą ir ciklo kodą.
Jamesas yra dirbtinio intelekto bakalauras ir yra CompTIA A + bei Network + sertifikuotas. Jis yra pagrindinis „MakeUseOf“ kūrėjas ir laisvalaikį praleidžia žaisdamas VR dažasvydį ir stalo žaidimus. Nuo mažens jis statė kompiuterius.