Shortcodes, eller kortkoder, er en enkel og smart måte å legge inn kode rett i innlegg eller på sider – helt uten å måtte skrive kode når du gjør det. Så enkelt lager du dine egne kortkoder.
Nå er det riktig nok ikke helt sant at det å lage egne kortkoder ikke krever kode, men det er helt sant at du kun må inn med litt kode én gang, og deretter kan bruke dem ved å legge inn for eksempel [minkalk tall1=5 tall2=2]
i teksteditoren i WordPress.
En liten kalkulator
Det vi nå skal gjøre er å lage en bitteliten kalkulatorfunksjon, som kanskje ikke er så nyttig akkurat i denne formen, men som gjør at du skjønner poenget. Vi skal kalle den nye kortkoden for [minkalk]
, som lar deg sende inn to tall, og få dem sammenlagt i retur.
Vi registrerer og definerer kortkoden i functions.php
. Legg inn følgende kode:
function minkalk_funksjon( $atts ) {
//Sett standardverdier for begge tall til 0, dersom ingen verdi er oppgitt
$tall = shortcode_atts( array(
'tall1' => 0,
'tall2' => 0,
), $atts );
//Legg sammen tallene
$sum = $tall['tall1'] + $tall['tall2'];
//Returner summen av tallene i et nytt avsnitt
return "<p>" . $sum . "</p>";
}
//Registrer kortkoden, slik at den kan brukes
add_shortcode( 'minkalk', 'minkalk_funksjon' );
Hvis du nå skriver inn [minkalk tall1=5 tall2=2]
i teksteditoren i et innlegg, under fanen Visuell, og deretter lagrer eller forhåndsviser innlegget, vil tallet syv vises på nettstedet ditt. Den nye kortkoden har dermed gjort jobben, tatt de to tallene og lagt dem sammen.
Prøver du derimot med [minkalk tall1=3]
, hvor tall2 ikke er definert, vil resultatet her også bli som forventet; tallet tre vises, i og med at tall2 ikke er satt. Kortkoden legger til standardverdien for tall2 som vi definerte i koden ovenfor, nemlig 0.
Kortkoder i bruk
For små og enkle oppgaver kan det være veldig praktisk å benytte seg av kortkoder. Men de er ikke perfekte, fordi man fortsatt må legge inn en form for kryptisk kodesnutt i editoren. Kanskje husker man ikke hva koden eller navnet på verdiene var, kanskje skal man registere mange verdier, eller kanskje ønsker man noe som er enda litt mer brukervennlig.
Likevel, kordkoder kan være praktiske til sitt bruk. Og selv om dette bare var et enkelt eksempel, er det ingen begrensning på hva du kan gjøre med verdiene som sendes inn til en kortkode-funksjon.