Joten tässä meillä on toinen viikoittainen opetusohjelmamme WordPressistä. Olemme oppineet aikaisemmin luomaan äärettömän vierivän WP-sivuston ja sivunsiirton laajennuksen. Tänään opimme vähän lisää mukautetuista viestityypeistä ja niiden tietojen lataamisesta.


Tämä ominaisuus on todella tärkeä sivustossasi, koska sen avulla voit näyttää ihmisiä, jotka suosittelevat sinua. Suosittelut ovat loistava sosiaalinen todistus mahtavisuudestasi. Ja sinun ei tarvitse tätä varten monimutkaisia ​​laajennuksia tai paljon koodia, sillä parilla tiedostolla voit luoda seksikäs esityksen suosituksillesi.

Aloitetaan sitten!

Postinumero & Asentaa

Jos kiire tarkistaa tämä, voit ladata ja asentaa sen.

Sinun on lisättävä joitain tietoja silloin, lisäämällä muutama suosittelut käyttämällä aivan uusia suosituksia, jotka voit nähdä kojetaulussa:

lista-suosittelut

Sitten voit ladata seuraavan peruskoodin avulla:

[suosittelut rand = 0 max = 5]

Kun olet lisännyt koodin, näet sivullasi jotain tällaista:

main-suosittelut

Nyt näemme kuinka luoda ja tutkia tätä (lisäämällä uusia toimintoja ja muuttamalla ulkoasua).

Perusteet

Kuten aiemmin sanoimme, sinun on lisättävä otsikon metatiedot, luotava laajennustiedosto ja soitettava komentosarjoillesi. Lyhyt tarina, luot uuden kansion wp-content / plugins alla pluginisi nimelläsi ja luo sitten tiedoston, jolla on sama nimi kuin kansiolla, joka on päälaajennustiedostosi.

Kun olet valmis, kopioi ja liitä seuraavasti:

<?php
/ *
Plugin-nimi: Suosittelut
Kuvaus: Näytä asiakkaiden suositukset.
Versio: 1.0
Kirjoittaja: Web Revenue Blog
Lisenssi: GPL2
* /

// skriptien ja tyylien enquequeing
toiminto plugin_scripts () {
wp_enqueue_script (jquery ‘);
wp_enqueue_script (‘flexslider’, plugins_url (‘js / jquery.flexslider-min.js’, __FILE__), taulukko (‘jquery’), ‘2.2’, väärä);
wp_enqueue_script (‘suosittelut’, plugins_url (‘js / testimonials.js’, __FILE__), taulukko (‘jquery’), ‘1.0’, väärä);
wp_enqueue_style (‘flexsliderCSS’, plugins_url (‘css / flexslider.css’, __FILE__), väärä, ‘2.2’, ‘kaikki’);
wp_enqueue_style (‘testimonialsCSS’, plugins_url (‘css / testimonials.css’, __FILE__), false, ‘1.0’, ‘all’);
}
ADD_ACTION ("wp_enqueue_scripts","plugin_scripts");

Tässä me olemme tekemässä:

  • Kertoen työryhmälle, mikä on laajennuksen nimi, kirjoittaja, mitä se tekee
  • Luodaan toiminto, johon lisätään tavallisia skriptejä (kuten jQuery) ja mukautettuja skriptejä (kuten flexslider) ja tyylitaulukoita
  • Kehottaa WP: tä lataamaan skriptit-funktio sen oletusarvoiseen skriptipuheluun, jotta ne ladataan tosiasiallisesti sivuille

Se on kaikki aika siistiä, mutta älä unohda luoda tiedostoja hakemistoon / js ja / css. Voit vain ladata ne demosisältöömme, joten sinun ei tarvitse kaivaa paljon löytääksesi flexslider-tiedostot.

Nyt meillä on kaikki perusasiat paikallaan, jotta voimme aloittaa hauskan osan.

Mukautettu postityyppi

Oletuksena WordPressillä on 2 yleistä postityyppiä, sivua ja viestiä. Mutta siinä on myös paljon sisäisiä viestityyppejä (kuten liitetiedostot), joten ”postityypin” määritelmä on: Jokainen tallennettava tietotyyppi.

Koska laajennuksemme luo uuden toiminnallisuuden, WP: llä ei ole sisäänrakennettua paikkaa sen tallentamiseksi, joten meidän on luotava se. Älä pelkää pikku heinäsirkkaa, se on melko yksinkertainen, voit käyttää tätä koodia:

// musta magia viestityypin luomiseen
toiminto create_post_type () {
register_post_type (
‘suosittelut’, // uusi viestityyppi
array (
‘etiketit’ => array (
‘nimi’ => __( ‘Suositukset’ ),
‘yksikön_nimi’ => __ (‘suositus’)
),
‘julkinen’ => totta, / * postityyppi on tarkoitettu julkiseen käyttöön. Tämä sisältää käyttöliittymän ja wp-adminin. * /
‘tukee’ => array ( ‘nimi’, ‘päätoimittaja’, ‘pientä’, ‘custom_fields’),
‘hierarkkinen’ => väärä
)
);
}

Täällä käytämme vain register_post_type () -toimintoa kertoaksemme WP: lle “Hei kaveri, meidän on tallennettava tällaisia ​​tietoja, ole valmis olemaan vastaanottamassa niitä”.

Sanomme myös hänelle, että tällaista tietoa kutsutaan ”suosituksiksi”, sen pitäisi olla saatavilla julkisesti (joten se luo itse siihen uuden valikkokohteen kojelaudassa), kentät, joita tarvitsemme siihen, ja jos se on hierarkkinen tai ei (kuten sivut, joilla meillä on vanhempien ja lasten sivut).

Sitten meidän on soitettava sille joka kerta, kun lataamme WordPressin. Tämä koukku tekee sen:

add_action (‘init’, ‘create_post_type’);

Muokatut kentät

Nyt mukautetulla viestityypillämme on otsikko (henkilön nimi), sisältö (henkilön lausunto), kuva (esitelty kuva), mutta puuttuu linkki, koska jos henkilö on tarpeeksi mukava puhua sinusta, sinun tulee ainakin linkittää heidän sivustollaan?

Voisimme tehdä tämän tavallisten mukautettujen kenttien kanssa, mutta on paljon parempi, että on “suljettu” kenttä, johon käyttäjän ei tarvitse kirjoittaa kentän nimeä ja johon voit lisätä joitain validointisääntöjä.

Ensinnäkin meidän on luotava uusi metabox, joka on ne mukavat paneelit, jotka sinulla on viestien muokkausalueellasi, jokainen pieni paneeli on metabox. Tämä toiminto luo ja kutsuu sitä:

// URL-osoitekentän lisääminen
toiminto add_custom_metabox () {
add_meta_box (‘custom-metabox’, __ (‘Link’), ‘url_custom_metabox’, ‘suosittelut’, ‘puoli’, ‘matala’);
}
add_action (‘admin_init’, ‘add_custom_metabox’);

Add_meta_box () -toiminto vaatii nämä parametrit:

  1. ID – sen yksilöivä tunniste. Voit käyttää mitä tahansa ainutlaatuista täällä, kuten “yksisarvinen syöminen-sateenkaari” tai “suosittelulinkki”. Kaikki mitä voidaan käyttää sisäisesti
  2. Otsikko – Mitä käyttäjälle näytetään? Tässä on tärkeää käyttää __ () -toimintoa, se on funktio, jonka avulla vieraiden kielten käyttäjät voivat kääntää pluginasi .po-tiedostoilla (muokata laajennustiedostoja)
  3. Soittopyyntö – Toiminto, jossa sinulla on metaboxin todellinen sisältö
  4. Postityyppi – Tässä tapauksessa haluamme, että se näkyy vain suosittelupalveluissa
  5. Konteksti – missä sivussa haluat näyttää sen
  6. Tärkeysjärjestys – jos sen pitäisi olla ennen muita saman aseman kohteita tai niiden jälkeen

Nyt meidän on luotava url_custom_metabox () -toiminto, koska olemme kutsuneet sitä.

// Hallinta-alueen HTML
toiminto url_custom_metabox () {
maailmanlaajuinen $ post;
$ urllink = get_post_meta ($ viesti->ID, ‘urllink’, totta);

// validointi!
if (! preg_match ( "/ Http (t?): ///", $ urllink) && $ urllink! = "") {
$ virheitä = "Tämä URL-osoite ei kelpaa";
$ urllink = "http: //";
}

// lähetä invlid URL -viesti ja lisää http: // syöttökenttään
if (isset ($ virheet)) {echo $ virheet; }
?>

URL:

<?php
}

Ok, kääntämällä nyt selväksi englanniksi:

  • Globaalia muuttujaa $ post kutsutaan, joten tiedämme mikä on nykyisen kohteen POSTID
  • Lataamme URL-osoitteen nykyisen arvon
  • Vahvistamme, jos käyttäjän lisäämä arvo on kelvollinen. Jos esiintyy ainakin yksi http- tai https-esiintymä, arvo on OK, muuten se on kelvollinen ja meidän on käytettävä oletusarvoa
  • Sitten näytämme virheet, jos niitä on
  • Nyt aloitamme todellisen HTML: n, lisäämällä oletusarvon syöttökenttään, kuten meillä on PHP: ssä

Tämän jälkeen meidän on todella tallennettava käyttäjän lähettämät tiedot. Käytämme “save_post” -koukkua, joten joka kerta, kun WordPress tallentaa viestin, se kutsuu tätä toimintoa:

// tallentaa mukautetut kentätiedot
funktio save_custom_url ($ post_id) {
maailmanlaajuinen $ post;

if (isset ($ _ POST [‘siteurl’]))) {
päivitys_posti_meta ($ viesti->ID, ‘urllink’, $ _POST [‘siteurl’]);
}
}
add_action (‘save_post’, ‘save_custom_url’);

Tarkistamme tässä vain, onko kentälle nimeltä postitiedot nimeltään “sivustolinkki”. Tallenna se, jos sivustolinkki on.

Kun kaikki on paikallaan, uusi suosittelussivusi näyttää tältä:

uusi-suosittelun

Ladataan mukautettuja tietoja

Nyt meidän on tosiasiallisesti ladattava tuotteemme ja käytämme get_posts () -toimintoa, lähinnä koska meillä on vain yksinkertaisia ​​tietoja, joten emme tarvitse asianmukaista WP-silmukkaa (joka lisäisi paljon DB-puheluita ja me todella ei tarvitse sitä).

Joten, ensin luodaan toiminto sivustomme linkin hankkimiseksi, jos sellaista on.

// viestin palautusosoite
toiminto get_url ($ post) {
$ urllink = get_post_meta ($ viesti->ID, ‘urllink’, totta);

palauta $ urllink;
}

Nyt voimme käynnistää lyhytkooditoiminnon. Yksinkertainen tapa olettaa oletus ja vahvistaa lyhytekooditiedot on luoda silmukan attribuutit matriisina, jotta voimme lisätä uusia kohteita tarvitsemme niitä, kuten tämä:

// lyhytkoodin rekisteröiminen todistusten osoittamiseksi
funktio load_testimonials ($ a) {

$ args = taulukko (
"post_type" => "Suositukset"
);

if (isset ($ a [‘rand’]) && $ a [‘rand’] == totta) {
$ args [‘orderby’] = ‘rand’;
}
if (isset ($ a [‘max’])) {
$ args [‘posts_per_page’] = (int) $ a [‘max’];
}
// kaikkien suositusten saaminen
$ viestit = get_posts ($ args);

// HTML-TULOS
}
add_shortcode ("Suositukset","load_testimonials");

Kuten näette, meillä on lyhytkoodimääritteet ladattu ja siirretty $ args-taulukkoon niiden validoinnin jälkeen WordPressin tarvitsemassa muodossa, jotta voimme ladata viestejä käyttämällä niitä.

Nyt meidän on lisättävä HTML-koodi sinne, flexsliderin oletusrakenteen mukaisesti. Se näyttää tältä:

kaiku ”;
kaiku ‘

    ‘;

    foreach ($ viestejä $ postina) {
    // peukalokuvan saaminen
    $ url_thumb = wp_get_attachment_thumb_url (get_post_thumbnail_id ($ post->ID));
    $ link = get_url ($ viesti);
    kaiku ‘

  • ‘;
    if (! tyhjä ($ url_thumb)) {echo ‘‘; }
    kaiku ‘

    ‘. $ Post->POST_TITLE.’

    ‘;
    if (! tyhjä ($ viesti->post_content)) {echo ‘

    ‘. $ Post->POST_CONTENT.’
    ‘; }
    if (! tyhjä ($ linkki)) {echo ‘Vieraile sivustossa

    ‘; }
    kaiku ‘

  • ‘;
    }

    kaiku ‘

‘;
kaiku ”;

Odota, mutta miksi luomme HTML-koodin PHP-toiminnon sisälle? Tämä johtuu siitä, että voimme ladata sisältöä ehdollisesti vain, jos käyttäjä on lisännyt sisältöä, joten sinulla ei ole tyhjiä HTML-tunnisteita, odottaen vain sotkea asettelun.

Entä sivupalkki?

Useimmat ihmiset haluavat vain näyttää suosituksia sivupalkissa, ja tämä laajennus ei toimi todella hyvin, koska tekstiwidgetit eivät käsittele lyhytkoodeja. Tähän on yksinkertainen ratkaisu, lisää vain koodi:

add_filter (‘widget_text’, ‘do_shortcode’);

Mitä seuraavaksi?

Nautitko siis tästä opetusohjelmasta? Mitä lisääisit vaihtoehtona suosittelun lyhytkoodillesi? Onko sinulla ideoita tuleviin viesteihin? Kerro meille kommentti-osiossa!

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me