Mobilno RSS Facebook Twitter E-novice Nastavi za domačo stran Dodaj med priljubljene Podcast Rock Radio Pozabljeno geslo Registriraj se Prijava facebook_connect.gif



  • A- A+

09.07.2015      12:54
|
Wordpress

Kratke kode (shortcode) v WordPressu

  • A- A+

 

Kratke kode v WordPressu nam lahko kot administratorjem oz. urednikom prihranijo kar nekaj časa, saj nam omogočajo, da s kratkim ukazom vstavimo večji kos (oblikovane) vsebine.

Po objavah vodičev po optimizaciji spletnih strani tokrat nadaljujemo s prispevkom znotraj rubrike izdelava spletnih strani.

Kratke kode v WordPressu nam lahko kot administratorjem oz. urednikom prihranijo kar nekaj časa, saj nam omogočajo, da s kratkim ukazom vstavimo večji kos (oblikovane) vsebine. Dodaten plus je tudi ta, da lahko funkcijo za izpis kratke kode v prihodnosti popravimo, s tem pa se bo popravil tudi izpis na vseh straneh ali objavah, kjer smo kodo uporabili. Zaradi tega je uporaba kratkih kod nadvse primerna za izpis vsebin, ki jih hočemo prikazati pri vsaki objavi (kontaktni podatki, gumbi za deljenje na družbenih omrežjih, klic k akciji ipd.).

WordPress že v privzeti namestitvi vsebuje nekaj predpripravljenih kratkih kod, njihova prava moč pa se pokaže, ko začnemo razvijati lastne.

Primer kratke kode iz WordPress Codexa.

Izdelava nove kratke kode

Novo kratko kodo napišemo v datoteko functions.php naše izbrane teme (nahaja se v mapi wp-content/themes/). Če želimo kratke kode ločiti od ostale funkcionalnosti teme, lahko izdelamo tudi novo PHP datoteko npr. shortcodes.php in nato le to vključimo vfunctions.php z ukazom:

require_once('shortcodes.php');

Kratko kodo lahko uporabljamo na dva načina:

– brez parametrov (metodo bomo uporabljali takrat, ko je vsebina, ki jo izpisujemo vedno enaka – statična),

Primer: [mojakoda]

– s parametri (izpisujemo podobno vsebino, ki pa je glede na uporabljeni parameter drugačna. V spodnjem primeru, so izpisani različni obrazci glede na vrednost parametra id.)


Primer: [spletniobrazec id=1]


Kratka koda brez parametrov

Najprej pripravimo funkcijo, ki se bo izvedla, ko bomo kratko kodo uporabili. Za primer bomo pripravili kratko kodo, ki nam bo na koncu vsake objave izpisala kontakne podatke avtorja.

function kontaktni_podatki() { return 'mag. Janez Novak
vodja PR službe
Data d.o.o.
Dunajska 136
1000 Ljubljana'; }

Paziti moramo, da uporabimo ukaz “return” in ne katerega od ukazov za izpis v PHP-ju kot sta “echo” ali “print_r”, ker v tem primeru vsebina ne bo izpisana na mestu, kjer smo kratko kodo uporabili ampak drugje (po navadi na vrhu vsebine strani, ni pa nujno) ali pa sploh ne.

Da bomo kratko kodo lahko uporabili v WordPressu, jo moramo še registrirati.

add_shortcode('kontakt', 'kontaktni_podatki');

S tem ukazom imamo zdaj na voljo kratko kodo – [kontakt], ki jo lahko poljubno uporabimo na straneh ali v objavah.

Kratka koda s parametri

Razširimo zgornjo kodo tako, da lahko spreminjamo kontaktno osebo in njeno funkcijo v podjetju.

function napredni_kontaktni_podatki($atts) {

    extract(shortcode_atts(array(

    'ime' => 'mag. Janez Novak',

    'funkcija' => 'vodja PR službe'

    ), $atts));

    return '' . $ime . '
' . $funkcija . '
Data d.o.o.
Dunajska cesta

    136
1000 Ljubljana';

    }

Za izluščenje parametrov smo uporabili PHP funkcijo extract v povezavi z v WordPress vgrajeno funkcijo shortcode_atts. Imena parametrov si lahko poljubno izberemo, ravno tako število, brez težav npr. dodamo še parameter naslov.

Kodo še registrirajmo z ukazom:

add_shortcode('naprednikontakt', 'napredni_kontaktni_podatki');

Zdaj lahko kratko kodo uporabimo v prispevkih:

[naprednikontakt ime="dr. Testko testek" funkcija="vodja svetovalcev"]

V primeru, da uporabnik kratko kodo uporabi brez parametrov [naprednikontakt], bodo uporabljene privzete vrednosti, ki smo jih definirali. V našem primeru je to “mag. Janez Novak” za ime in “vodja PR službe2 za njegovo funkcijo. Privzeta vrednost je lahko tudi prazna npr.


'ime' => '',

    'funkcija' => ''


Kratka koda z zaključkom

V primeru, da želimo nek del besedila oblikovati na bolj kompleksen način (npr. pripravljamo nek gumb za klic k akciji), lahko pripravimo tudi “kratko kodo z zaključkom” (enclosing shortcode).

function cta_gumb($atts, $content = null) {

    extract(shortcode_atts(array(

    'link' => '#'

    ), $atts));

    return '' . $content .

    '';

    }

    

    add_shortcode('ctabox', 'cta_gumb');

Kratko kodo pa potem uporabimo takole:

[ctabox link="http://data.si"]Nujno preberi članek![/ctabox]

Za konec še opozorilo, da na ta način pripravljene kodo ne bodo delovale, če jih boste uporabili v katerem od gradnikov (widget). Če potrebujete tudi to funkcionalnost, morate v datotekofunctions.php dodati ukaz (morda ga datoteka že vsebuje od prej):

add_filter('widget_text', 'do_shortcode');


V predstavljenih primerih smo uporabili izjemno preproste kratke kode oz. funkcije, seveda pa bi bile lahko, glede na potrebe, tudi dosti bolj kompleksne npr. izpis zadnjih objav ali komentarja, prikaz naključnega oglasa itd. Možnosti je veliko, vsekakor pa nam bodo kratke kodo prihranile kar nekaj časa pri pripravljanju novih strani ali objav.

Vam je bil prispevek všeč in bi radi prebrali več vodičev po WordPressu? Pripravili smo vam:

Pripravil: Borut Ratej










KOMENTIRAJ

X


ANKETA
Arhiv anket

Kako je tehnologija spremenila vaše življenje?










>>
Kako drastično je tehnologija spremenila svet?

ZADNJE RAČUNALNIŠKE TEŽAVE IN REŠITVE

ZADNJE KOMENTIRANE NOVICE

Novi telefoni Nokia na voljo v prvi polovici ... 1
skeptik  |  Ja, in prosim, da zdaj vsak teden napiše...
Google izbrisal več kot 900 milijonov piratsk... 1
domen.valentinuzzi  |  ma nobenga navadnga folka ne bo nobedn p...
Prihaja prvi poceni telefon, ki bo nadomestil... 4
sibyte  |  Ni procesorja in ustrezne baterije, da b...
Prihaja prvi poceni telefon, ki bo nadomestil... 4
zgubar  |  gre za dodaten zaslon!
Revolucionarno odkritje: Baterije, ki jih lah... 5
markobarko  |  kako dolgo še bomo brali o novih super "...
RN KANAL




e-novice Želim brezplačno izdajo uredniškega izbora
najboljših računalniških novic na e-mail
Potrdi
(predogled)
(predogled)
(predogled)
(predogled)
(predogled)


100% skrbno bomo varovali vašo zasebnost in odnaročili se boste lahko kadarkoli!
Twitter




V zgornje okence vpišite vaš elektronski naslov, na katerega boste prejeli nadaljna navodila.

Mozilla Firefox

Kliknite na meni Orodja (Tools) in izberite Možnosti (Options)
V zavihku Splošno (Main) v polje Domača stran (Home Page) vpišite naslov rn.si
Kliknite na gumb V redu (OK)

Internet Explorer

Kliknite na meni Orodja (Tools) in izberite Internetne možnosti (Internet Options)
V zavihku Splošno (General) v polje Home Page (Domača stran) vpišite naslov rn.si
Kliknite na gumb V redu (OK)

Chrome

Hkrati pritisnite ALT+F in izberite Možnosti
V zavihku Osnove kliknite na gumb Uporabi trenutno stran
Kliknite na gumb Zapri

Netscape Navigator

Kliknite na meni Tools in izberite Options
V zavihku Main v polje Home Page vpišite naslov rn.si
Kliknite na gumb OK

Opera

Hkrati pritisnite CRTL+F12
Kliknite gumb »Use current«
Kliknite na gumb OK

Safari

Hkrati pritisnite tipki CTRL+","
Izberete zavihek General
Kliknite gumb »Set to current page«

Mozilla Firefox

Hkrati pritisnite tipki CTRL+D
Kliknite na gumb Shrani (Save)

Internet Explorer

Hkrati pritisnite tipki CTRL+D
Kliknite na gumb Dodaj (Add)

Chrome

Hkrati pritisnite tipki CTRL+D
Kliknite na gumb Končano (Finish)

Netscape Navigator

Hkrati pritisnite tipki CTRL+D
Kliknite na gumb OK

Opera

Hkrati pritisnite tipki CTRL+D
Kliknite na gumb OK

Safari

Hkrati pritisnite tipki CTRL+D
Kliknite na gumb OK