Kuidas luua WordPressi jaoks vidina pistikprogramm

WordPress on hämmastav sisuhaldussüsteem, millel on palju suurepäraseid funktsioone, näiteks vidinad. Selles õpetuses selgitan teile, kuidas luua väikese vidina sees oma vidinad. See postitus hõlmab mõnda lisapunkti, mida peate mõistma enne vidina enda loomist. Siin me läheme!


1. samm: looge oma vidina pistikprogramm

Lõin hiljuti pistikprogrammi nimega “Freelancer Widgets Bundle” ja mõned inimesed küsisid minult, kuidas sellist pluginat luua, nii et otsustasin selle postituse kirjutada. Esimene samm on pistikprogrammi loomine. Ja nagu näete, pole see kõige raskem osa. Pistikprogramm lisatakse WordPressile pärast selle aktiveerimist lisakoodina. WordPress loob silmuse kausta kaudu, et hankida kõik saadaolevad pistikprogrammid ja loetleda need tagakontoris. Pistikprogrammi loomiseks vajate sellist redigeerijat nagu Coda (Mac) või Dreamweaver (PC ja Mac). Soovitan teil luua oma plugin WordPressi kohalikku installimisse, selle tegemine reaalajas serverisse võib vea tegemisel põhjustada probleeme. Seega palun oodake enne meie hostingu lisamist meie pistikprogrammi testimist.

Avage nüüd kaust wp-content / plugins. Sellesse kohta, kuhu kavatsete oma pistikprogrammi lisada. Looge uus kataloog ja nimetage seda vidinate pistikprogrammiks (tegelikult võib see nimi olla ükskõik, mida soovite). Isegi kui meie pistikprogrammil on ainult üks fail, on alati parem kasutada iga pistikprogrammi jaoks kausta. Looge oma kataloogis uus fail nimega widget-plugin.php (seda nime saab ka muuta) ja avage see. Nüüd lisame oma esimesed koodiridad. Pistikprogrammi määratlus WordPressis järgib mõnda reeglit, mida saate lugeda siin koodeksi peal. WordPress määratleb pistikprogrammi järgmiselt:

Niisiis, me peame seda koodi muutma, et see vastaks meie vajadustele:

Salvestage fail. Kui lisate oma vidina-plugin.php-failile ainult koodi, oleme loonud pistikprogrammi! Noh, praegu ei tee pistikprogramm midagi, kuid WordPress tunneb selle ära. Veendumaks, et see nii on, minge oma administratsiooni ja minge jaotisse „Pluginad”. Kui teie pistikprogramm ilmub pistikprogrammide loendisse, olete hea, muidu veenduge, et järgisite minu juhiseid ja proovige uuesti. Nüüd saate plugina aktiveerida.

2. samm: looge vidin

Nüüd loome vidina ise. See vidin on PHP-klass, mis laiendab WordPressi põhiklassi WP_Widget. Põhimõtteliselt määratletakse meie vidin sel viisil:

// Vidinate klass
klass My_Custom_Widget laiendab WP_Widget {

// Peakonstruktor
avalik funktsioon __construct () {
/ * ... * /
}

// Vidina vorm (taustaprogrammi jaoks)
avaliku funktsiooni vorm ($ näiteks) {
/ * ... * /
}

// Värskendage vidina sätteid
avaliku funktsiooni värskendus ($ new_instance, $ old_instance) {
/ * ... * /
}

// Vidina kuvamine
avaliku funktsiooni vidin ($ args, $ näiteks) {
/ * ... * /
}

}

// Registreerige vidin
funktsioon my_register_custom_widget () {
register_widget ('My_Custom_Widget');
}
add_action ('vidinad_init', 'minu_register_kohandatud_vidin');

See kood annab WordPressile kogu teabe, mida süsteem vidina kasutamiseks vajab:

  1. ehitaja, vidina käivitamiseks
  2.  vorm () funktsioon vidina vormi loomiseks halduses
  3. update () funktsioon, vidina andmete salvestamiseks väljaande ajal
  4. Ja vidina () funktsioon vidina sisu kuvamiseks kasutajaliideses

1 - ehitaja

Ehitaja on osa koodist, mis määratleb vidina nime ja peamised argumendid, allpool on näide sellest, kuidas see välja võib näha.

// Peakonstruktor
avalik funktsioon __construct () {
vanem :: __ konstruktsioon (
'minu_kohandatud_vidin',
__ ('Minu kohandatud vidin', 'teksti_domeen'),
massiiv (
'customize_selective_refresh' => tõene,
)
);
}

Ärge kasutage vidina nime ümber __ () kasutamist, seda funktsiooni kasutab tõlkimiseks WordPress. Ma tõesti soovitan teil alati kasutada neid funktsioone, et muuta oma teema täielikult tõlgitavaks. Ja parameetri „customize_selective_refresh” kasutamine võimaldab vidina värskendamist all Välimus> Kohanda vidina redigeerimisel värskendatakse kogu lehe värskendamise asemel muudatuste tegemisel ainult vidinat.

2 - funktsioon vorm ()

See funktsioon loob vidinate vormingusätted WordPressi administraatorialas (kas välimus> Vidinad või Ilme> Kohandamine> Vidinad). Sel juhul sisestate oma andmed veebisaidil kuvamiseks. Nii et ma selgitan, kuidas saate vidina vormi sätetele lisada tekstivälju, tekstialasid, märkeruute ja märkeruute.

// Vidina vorm (taustaprogrammi jaoks)
avaliku funktsiooni vorm ($ näiteks) {

// Vidina vaikesätete määramine
$ defaults = array (
'pealkiri' => '',
'tekst' => '',
'textarea' => '',
'märkeruut' => '',
'vali' => '',
);

// Sõeluge praegused sätted vaikimisi
ekstrakt (wp_parse_args ((massiiv) $ näiteks, $ vaikimisi)); ?>


/>

See kood lisab vidinale lihtsalt 5 välja (pealkiri, tekst, tekstiala, valige ja märkeruut). Nii et kõigepealt määratlete oma vidina vaikeseaded, seejärel parsib järgmine funktsioon teie vidina jaoks praegused seaded / salvestatud vaikesätetega (nii et kõik sätted, mida ei eksisteeri, naasevad vaikeseadetele, nagu näiteks vidina esmakordsel lisamisel) oma külgriba). Ja viimane on iga välja html. Pange tähele esc_attr () kasutamist vormi väljade lisamisel, seda tehakse turvalisuse kaalutlustel. Iga kord, kui kajastate oma saidil kasutaja määratletud muutujat, veenduge, et see oleks kõigepealt desinfitseeritud.

3 - värskenduse () funktsioon

Funktsioon update () on tõesti lihtne. Kuna WordPressi põhiarendajad lisasid tõeliselt võimsa vidinate API, peame selle välja lisama ainult iga välja värskendamiseks:

// Värskendage vidina sätteid
avaliku funktsiooni värskendus ($ new_instance, $ old_instance) {
$ näiteks = $ old_instance;
$ instants ['title'] = isset ($ new_instance ['title'])? wp_strip_all_tags ($ new_instance ['title']): '';
$ näiteks ['text'] = isset ($ new_instance ['text'])? wp_strip_all_tags ($ new_instance ['text']): '';
$ instance ['textarea'] = isset ($ new_instance ['textarea'])? wp_kses_post ($ new_instance ['textarea']): '';
$ instance ['checkbox'] = isset ($ new_instance ['checkbox'])? 1: vale;
$ näiteks ['valige'] = väljasta ($ new_instance ['valige'])? wp_strip_all_tags ($ new_instance ['valige']): '';
tagastama $ näiteks;
}

Nagu näete, peame tegema kõik sätted ja kui see pole tühi, salvestage see andmebaasi. Pange tähele funktsioonide wp_strip_all_tags () ja wp_kses_post () kasutamist. Neid kasutatakse andmete desinfitseerimiseks enne nende lisamist andmebaasi. Kui sisestate andmebaasi mis tahes kasutaja esitatud sisu, peate veenduma, et sellel pole pahatahtlikku koodi. Esimene funktsioon wp_strip_all_tags eemaldab kõik, välja arvatud põhitekst, nii et saate seda kasutada kõigil väljadel, kus lõppväärtus on string ja teine ​​funktsioon wp_kses_post () on sama funktsioon, mida kasutatakse postituse sisul, ja see eemaldab kõik sildid peale põhilise HTML-i, näiteks lingid , pikkused, vahekaugused, pildid jne.

4 - vidina () funktsioon

Funktsioon vidin () väljastab veebisaidi sisu. Seda näevad teie külastajad. Seda funktsiooni saab kohandada nii, et see hõlmaks CSS-klasse ja konkreetseid silte, mis sobivad ideaalselt teie teemaekraaniga. Siin on kood (ärge unustage, et seda koodi saab hõlpsasti teie vajadustele vastavaks muuta):

// Vidina kuvamine
avaliku funktsiooni vidin ($ args, $ näiteks) {

väljavõte ($ args);

// Kontrollige vidina suvandeid
$ title = isset ($ instants ['pealkiri'])? apply_filters ('vidina_pealkiri', $ esinemisviis ['pealkiri']): '';
$ text = isset ($ näiteks ['tekst'])? $ näiteks ['tekst']: '';
$ textarea = isset ($ näiteks ['textarea'])? $ näiteks ['textarea']: '';
$ select = isset ($ näiteks ['valige'])? $ näiteks ['valige']: '';
$ ruut =! tühi ($ näiteks ['märkeruut'])? $ näiteks ['märkeruut']: vale;

// WordPressi tuum enne_vidina konksu (sisaldab alati)
echo $ before_widget;

// Vidina kuvamine
kaja '
'; // Kuva vidina pealkiri, kui see on määratletud if ($ pealkiri) { echo $ before_title. $ tiitel. $ after_title; } // Kuva tekstiväli if ($ tekst) { kaja '

'. $ tekst. '

'; } // Kuva tekstiala väli if (textarea $) { kaja '

'. $ textarea. '

'; } // Kuvage valitud väli if ($ valige) { kaja '

'. $ valige. '

'; } // Kuvage midagi, kui ruut on tõene if (ruut $) kaja '

Midagi vinge

'; } kaja '
'; // WordPressi südamiku pärast_vidina konks (alati kaasas) echo $ after_widget; }

See kood pole keeruline, peate vaid meeles pidama, et kontrollida, kas muutuja on seatud, kui te seda ei tee ja soovite selle printida, kuvatakse tõrketeade.

Täielik vidina pistikprogramm

Kui olete juba õigesti jälginud, peaks pistikprogramm nüüd täielikult töötama ja saate seda oma vajadustele kohandada. Kui te pole juhiseid järginud või soovite koodi veelkord kontrollida, võite täiskoodi kuvamiseks külastada Githubi lehte.

Vaata kogu koodi Githubis

Järeldus

Nägime, et vidina loomine pistikprogrammi sees on väga huvitav, nüüd peate teadma, kuidas luua lihtsat pistikprogrammi, mis sisaldab eri väljatüüpidega vidinat, ja õppisite, kuidas vidina kohandamiseks kasutada täiustatud tehnikaid, kasutades täiendavaid võimalusi. Palju õnne, tegite hämmastava töö!

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map