Mainos
Monet bloggaajat etsivät korkeasta ja matalasta täydellistä WordPress-widgettiä, joka tekee juuri sen he haluavat, mutta pienellä ohjelmointikokemuksella voi olla helpompaa kirjoittaa mukautettu vekotin.
Tällä viikolla haluaisin näyttää kuinka tehdä täsmälleen se, ja kirjoittamamme widget on yksinkertainen, joka poimii yhden satunnaisen viestin sivustosta, vetää esillä olevan kuvan ja näyttää sen sivupalkissa - visuaalinen "tarkista tämä" -widget, joka auttaa käyttäjiä löytämään enemmän sisältöä sivusto.
Tämä on myös jatko jatkuvalle sarjalle, jossa näytän sinulle kuinka helppoa se on muokata WordPress-mallia 2 uutta hienoa Wordpress-laajennusta ja Wordpress-teeman rakenteen ymmärtäminenTällä viikolla katson ylivoimaista vaihtoehtoa usein kiitetylle monitoimilaitteelle; plugin, joka antaa sinulle Wordpress-julkaisujärjestelmän voiman, mutta antaa sinun tulostaa ... Lue lisää .
Saatat myös olla ilo tietää, että olemme lisänneet uuden WordPress-opetusohjelmat-luokka MakeUseOfiin, joten muista tarkistaa jatkuvasti kasvava arkisto, joka sisältää ajan tasalla olevia vinkkejä ja oppaita maailman suosituimmalle blogialustalle.
Avainkäsitteet: WordPress-kyselyt ja silmukka
Jokainen blogin sivu koostuu kyselystä viestitietokantaan. Kysely muuttuu tarkastelemasi sivun mukaan. Esimerkiksi blogin etusivullasi voidaan käyttää kyselyä “saat viimeisimmät 10 blogin viestiä“. Kun tarkastelet luokka-arkistoja, kysely voi muuttua muotoon “saat viimeisimmät 20 viestiä vain luokkaperhekuvista, tilaa tulokset julkaisupäivän mukaan“. Jokainen kysely palauttaa joukon tuloksia, ja käytetystä sivumallista riippuen jokainen tulos suoritetaan mallin pääsilmukan läpi.
Jokainen sivu voi tosiasiassa koostua useammasta kuin yhdestä kyselystä, ja voit jopa luoda omia kyselyjä lisätäksesi toimintoja mallin eri paikkoihin. Voit nähdä esimerkin tästä käytetystä tämän artikkelin alareunassa - meillä on muutama lisäkysely, jotka suoritetaan jokaisella sivulla, jonka tarkoituksena on näyttää kiinnostuneita aiheeseen liittyviä artikkeleita tai tämän suuntauksia viikko.
Jotta voimme tehdä mukautetusta widgetistämme, meidän on kuitenkin vain luotava lisäkysely, joka tarttuu X-määrään satunnaisia viestejä ja heidän kuviaan ja näyttää ne jollakin tavalla sivupalkissa. Osoitin sinulle jo viime viikolla koodin tartu esiteltyyn kuvaan Asenna blogi WordPressillä: Ultimate GuideHaluatko aloittaa oman blogin, mutta et tiedä miten? Katso WordPressistä, joka on nykyään tehokkain blogimisalusta. Lue lisää , joten meidän on vain tiedettävä kuinka luoda uusi WordPress-widget ja sijoittaa se sivupalkkiin.
Widget-peruskoodi
Aloita luomalla uusi .php-tiedosto kansioon wp-content / plugins hakemistoon. Voit myös seurata opetusohjelmaa offline-tilassa ja ladata sen WordPress-käyttöliittymän avulla, mutta mielestäni on helpompaa kirjoittaa kuin menemme, jos sinun on debug. Soita tiedostollesi mitä haluat, mutta olen mukana random-post-widget.php
Liitä seuraava tiedostoon ja tallenna. Voit vapaasti muuttaa yläosaa, jossa nimeni on siinä, mutta älä säädä muuta koodia. Tämä on pohjimmiltaan tyhjä luuranko-widget, ja voit nähdä missä se sanoo // WIDGET-KOODI menee TÄSTÄ lisäämme toiminnallisuutemme myöhemmin.
php. /* Laajennuksen nimi: Satunnainen viesti -widget. Plugin URI: http://jamesbruce.me/ Kuvaus: Satunnainen viesti -widget tarttuu satunnaiseen viestiin ja siihen liittyvään pikkukuvaan näytettäväksi sivupalkissa. Kirjoittaja: James Bruce. Versio: 1. Kirjoittajan URI: http://jamesbruce.me/ * / luokka RandomPostWidget laajentaa WP_Widget. {funktio RandomPostWidget () {$ widget_ops = array ('luokan nimi' => 'RandomPostWidget', 'kuvaus' => 'Näyttää satunnaisen viestin pikkukuvalla'); $ tämä-> WP_Widget ('RandomPostWidget', 'Random Post and Thumbnail', $ widget_ops); } funktiomuoto ($ esiintymä) {$ esiintymä = wp_parse_args ((taulukko) $ esiintymä, taulukko ('otsikko' => '')); $ otsikko = $ esiintymä ['otsikko'];php} toiminnon päivitys ($ new_instance, $ old_instance) {$ instance = $ old_instance; $ esiintymä ['otsikko'] = $ uusi_instance ['otsikko']; palauta $ esiintymä; } toimintowidget ($ args, $ esiintymä) {ote ($ args, EXTR_SKIP); echo $ before_widget; $ otsikko = tyhjä ($ esiintymä ['otsikko'])? '': Käytä suodattimia ('widget_title', $ esiintymä ['otsikko']); if (! tyhjä ($ otsikko)) echo $ before_title. $ Otsikko. $ After_title;; // WIDGET CODE GOES TÄTÄ echo " Tämä on uusi widget!
"; echo $ after_widget; } } add_action ('widgets_init', create_function ('', 'return register_widget ("RandomPostWidget");'));
Laajennuksella ei tällä hetkellä ole paljon muuta kuin tulostamalla suuri otsikko sanoilla “Tämä on uusi widget!“.
Se antaa sinulle kuitenkin mahdollisuuden muuttaa otsikkoa, mikä on tavallaan välttämätöntä jokaiselle widgetille. Muiden vaihtoehtojen lisääminen on hiukan tämän artikkelin soveltamisalan ulkopuolelle, joten siirrymme eteenpäin antamaan sille todellinen tarkoitus.
Uusi kysely ja silmukka
Jotta voit tehdä uuden kyselyn blogi-tietokantaan, sinun on käytettävä query_posts () toimivat muutaman parametrin mukana, aja sitten lähdön läpi jonkin aikaa silmukalla. Kokeillaan tätä - erittäin yksinkertainen kysely ja silmukka osoitettavaksi. Korvaa koodirivi, jossa lukee:
seuraavilla:
// WIDGET-KOODI menee TÄSTÄ. query_posts ( ''); if (have_posts ()): while (have_posts ()): the_post (); otsikko(); EndWhile; loppu Jos; wp_reset_query ();
Tämä on ehdottoman peruskysely, joka käyttää oletusasetuksia ja tulosteen nollamuotoilua. Sen mukaan, kuinka blogiisi on asetettu, oletuksena on todennäköisesti tarttua 10 viimeisimpaan viestiin - sitten kaikki yllä oleva koodi on jokaisen viestin otsikon tulostaminen. Se on aika ruma, mutta toimii:
Voimme tehdä siitä hiukan paremman heti lisäämällä HTML-muotoilun tulosteen kanssa ECHO -komento ja linkin luominen viestiin käyttämällä get_the_permalink () toimia:
query_posts ( ''); if (have_posts ()): echo "
- “; while (have_posts ()): the_post (); kaiku ”
- ”.Get_the_title ()”.
“; EndWhile; kaiku ”
“; loppu Jos; wp_reset_query ();
Jo se näyttää paljon paremmalta. Mutta me haluamme vain yhden, satunnaisesti poimitun viestin. Tätä varten määrittelemme joitain parametreja kyselyssä:
query_posts (posts_per_page = 1 & orderby = rand ');
Voit tietysti muuttaa sen mihin tahansa määrään viestejä - itse asiassa siellä on a koko joukko ylimääräisiä bittejä, jotka voit siirtää kyselyyn rajoittaa, laajentaa tai muuttaa tulosten järjestystä, mutta pidetään kiinni siitä nyt. Jos päivität, sinun pitäisi nähdä vain yksi viesti, joka satunnaistetaan joka kerta, kun päivität.
Nyt esillä oleva pikkukuva. Korvaa koodi tällä, toivottavasti näet missä tarttumme pikkukuvan ja näytämme sen:
query_posts (posts_per_page = 1 & orderby = rand '); if (have_posts ()): echo "
- “; while (have_posts ()): the_post (); kaiku ”
- ”.Get_the_title (); kaiku the_post_thumbnail (ryhmä (220 200)); kaiku ”
“; EndWhile; kaiku ”
“; loppu Jos; wp_reset_query ();
Voit nähdä valmiit tulokset jälleen kehitysblogistani Omavaraisuusoppaastani, vaikka olenkin voinut siirtää asioita tähän lukemisen aikaan.
johtopäätös:
Katso, kuinka helppoa on tehdä oma mukautettu widget, joka voi tehdä juuri haluamasi? Vaikka et ymmärrä 90% koodista, jonka olen tänään osoittanut, sinun pitäisi silti pystyä mukauttamaan sitä jonkin verran muuttamalla muuttujia tai tulostamalla eri HTML. Kirjoitimme tänään kokonaisen widgetin, mutta voit käyttää helposti vain uutta kyselyä ja silmukoodia missä tahansa sivumallissasi.
Jamesilla on teknisen älykunnan kandidaatin tutkinto ja hän on CompTIA A + ja Network + -sertifioitu. Hän on MakeUseOfin johtava kehittäjä ja viettää vapaa-aikansa pelaamalla VR-paintballia ja lautapelejä. Hän on rakennettu tietokoneita lapsuudestaan asti.