Skip to main content

Deluxe Media

Teknik og platforme substantiv · engelsk

Shortcode

En shortcode er en kort kommando i firkantede parenteser, som WordPress erstatter med dynamisk indhold eller en funktion.

Kort fortalt

En shortcode er en kort kommando i firkantede parenteser, som WordPress erstatter med dynamisk indhold eller en funktion.

I praksis

Brug shortcodes til afgrænsede funktioner, dokumentér attributter, test dem i editor og frontend, og fjern dem kontrolleret ved plugin- eller temaskift.

Typisk faldgrube

At bygge hele sidens layout af shortcodes fra et bestemt plugin. De kan efterlade rå koder i indholdet, hvis pluginet senere fjernes.

Introduktion

En shortcode er en kort kommando i firkantede parenteser, som WordPress erstatter med dynamisk indhold eller en funktion. En kode som [kontaktformular] kan eksempelvis blive vist som en komplet formular på den offentlige side.

Shortcodes blev populære, fordi de gjorde det muligt at indsætte avancerede elementer i almindeligt indhold uden at skrive HTML eller PHP. Plugins kan registrere deres egne shortcodes til gallerier, formularer, produktlister, medlemsområder og meget andet.

En shortcode er ikke selve indholdet. Den er en henvisning til en funktion, som skal være registreret af WordPress, et tema eller en WordPress-plugin. Hvis funktionen mangler, kan siden vise den rå tekst i parenteserne eller ingenting.

Den kan have attributter. [produkter kategori="hjelme" antal="6"] fortæller eksempelvis funktionen, hvilken kategori og hvor mange produkter der skal vises. Nogle shortcodes omslutter også indhold med en start- og slutkode.

I dag kan blokeditoren og moderne komponenter løse mange af de opgaver, shortcodes tidligere blev brugt til. De er stadig nyttige, men de bør vælges bevidst. En shortcode er en praktisk adapter — ikke nødvendigvis den bedste måde at bygge hele hjemmesiden på.

Sådan bruger du det i praksis

Find først dokumentationen til den konkrete shortcode. Navn, attributter og tilladte værdier varierer fra plugin til plugin. Kopiér ikke en kode fra et gammelt forumindlæg og forvent, at den passer til den installerede version.

Indsæt den i WordPress’ shortcode-blok eller det felt, som pluginet beskriver. Nogle sidebyggere har egne widgets. Kontrollér både editorens forhåndsvisning og frontend, fordi editoren ikke altid udfører koden på samme måde som den offentlige side.

Hold attributterne enkle og dokumenterede. Hvis en formular bruges på 20 sider med forskellige ID’er, så før en oversigt over, hvilken der ligger hvor. Det er lettere end at åbne hver side under en akut fejl.

Når en udvikler laver en custom shortcode, skal funktionen returnere sit output og rense input korrekt. Den bør have et unikt navn, så den ikke kolliderer med andre plugins. Data fra brugeren skal valideres, især hvis shortcoden læser fra databasen eller kalder en API.

Indlæs kun nødvendige scripts og styles på sider, hvor shortcoden bruges. Et bookingmodul behøver ikke lægge fem JavaScript-filer på hele sitet. WordPress har funktioner til at kontrollere, om indholdet indeholder en bestemt shortcode.

Planlæg også udskiftning. Før et plugin fjernes, skal du søge efter dets shortcodes i sider, indlæg, widgets og skabeloner. Erstat dem med blokke, almindeligt indhold eller en ny funktion, og test derefter, at rå parenteskoder ikke står tilbage.

Eksempel

En køreskole bruger shortcoden [tilmeldingsformular id="3"] på seks holdsider. Formularpluginet bliver ikke længere opdateret, og virksomheden vil skifte til en anden løsning. Hvis pluginet blot slettes, står shortcoden synligt på alle seks sider.

Før skiftet laves en liste over siderne og de formularer, der bruges. Den nye formular bygges og testes i et stagingmiljø. Derefter erstattes hver gammel shortcode med den nye blok eller shortcode, mens labels og takkesider bevares.

Konverteringsmålingen testes også, fordi den gamle formular udløste et særligt event i Google Tag Manager. En visuelt fungerende formular er ikke nok, hvis henvendelserne pludselig forsvinder fra rapporteringen.

Efter udskiftningen søges databasen efter den gamle shortcode. Der findes én ekstra forekomst i en skjult takkeside, som ellers var blevet glemt. Først da de rå koder er væk, deaktiveres pluginet.

Køreskolen ender med en enklere redigering, men shortcodes bliver ikke forbudt. Et lille kursuskatalog bruger stadig en veldokumenteret kode, fordi den løser en afgrænset opgave godt. Målet er ikke nul shortcodes. Målet er at vide, hvad de gør.

Faldgrube

Den største faldgrube er plugin-låsning. Hvis sider, kolonner, knapper og afstande er bygget af proprietære shortcodes, kan et leverandørskift efterlade indholdet som en mur af parenteser. Det gør en ellers enkel migration dyr.

En anden fejl er at indsætte shortcode i felter, hvor den ikke bliver behandlet. WordPress udfører ikke automatisk shortcodes i alle titler, menuer og custom fields. At koden står i databasen betyder ikke, at den bliver vist som forventet.

Pas på sikkerhed og ydeevne. En dårligt skrevet shortcode kan lave tunge databaseforespørgsler hver gang siden åbnes eller tillade usikre parametre. Cache kan skjule problemet i test og derefter give mærkelige resultater, når indholdet varierer pr. bruger.

Sidst kan shortcodes blive kopieret uden kontekst. En medarbejder ser [pris] på én side og bruger den på en anden, uden at vide, at den henter global information. Dokumentér navne og formål i et enkelt internt ark.

Godt at vide

WordPress’ Shortcode API analyserer koden, attributterne og eventuelt omsluttet indhold og sender dem til den registrerede handler. Det er derfor pluginets funktion, ikke parenteserne i sig selv, der skaber resultatet.

Gutenberg har en særlig shortcode-blok, så ældre shortcodes kan bruges i blokeditoren. Det betyder ikke, at alle gamle løsninger er moderne eller vedligeholdte. Blokken er en beholder, ikke en kvalitetskontrol.

En shortcode kan ligge i et child theme, men funktionalitet, som skal overleve et temaskift, hører ofte bedre hjemme i et plugin. Ellers forsvinder funktionen, når temaet skiftes.

Når en shortcode bruges til kritiske funktioner som booking eller betaling, skal den have samme test, logning og backup som resten af løsningen. Den korte kode må ikke få opgaven til at se mindre vigtig ud. Læs også guiden om hvad et CMS er.

Shortcodes og redaktionel brug

Giv redaktører eksempler, som kan kopieres sikkert, og begræns antallet af attributter. En shortcode med 18 valgmuligheder er i praksis et dårligt brugerinterface gemt i tekst.

Hvis medarbejdere ofte skriver koden forkert, bør funktionen måske være en rigtig blok med felter og validering. Teknikken skal tilpasses dem, der vedligeholder siden.

Sådan undgår du at blive låst til gammel kode

Før du opretter en shortcode, bør du spørge, om indholdet skal leve i mange år og kunne redigeres visuelt. En blok eller et struktureret felt er ofte bedre til redaktionelt indhold. En shortcode er stærk, når den repræsenterer en afgrænset funktion, men dårlig som skjult layoutsystem for hele siden.

Navngiv koden med et unikt præfiks, eksempelvis [dm_prisliste] i stedet for [prisliste]. Det mindsker risikoen for sammenstød med et andet WordPress-plugin. Beskriv tilladte attributter, standardværdier og hvad der sker ved fejl.

På en hjemmeside kan en shortcode vise en kontaktblok fra ét centralt sted. På en webshop kan den indsætte en produktliste eller kampagne. Men den bør ikke omgå adgangskontrol, lagerlogik eller korrekt escaping, bare fordi outputtet ser enkelt ud.

Planlæg afvikling. Hvis funktionen senere erstattes af en blok, skal gamle shortcodes enten migreres eller fortsat gengives. Fjernes pluginet uden plan, står koden synligt i teksten. Søg derfor efter brugen før ændringer, og behold en lille kompatibilitetsløsning, mens indholdet opdateres.

Test både standardkoden og forkerte værdier. En redaktør vil på et tidspunkt skrive [dm_prisliste antal="mange"]. Funktionen skal falde tilbage på en sikker værdi eller vise en forståelig besked i administrationen — ikke skabe en fatal fejl på forsiden.

Vedligeholdelsen bør også omfatte en liste over aktive shortcodes og deres ejere. Det kan være en enkel teknisk note med navn, formål, plugin og de sider, hvor koden bruges. Når et plugin skal udskiftes, kan du dermed vurdere konsekvensen før deaktivering i stedet for at lede efter synlige firkantede parenteser bagefter.

Hold desuden outputtet tilgængeligt og semantisk. En shortcode, der viser knapper, tabeller eller formularer, skal følge de samme krav som håndskrevet HTML. Tastaturnavigation, overskrifter og labels bliver ikke automatisk korrekte, bare fordi funktionen er genbrugelig. Test derfor den færdige visning med både mobil, tastatur og relevante hjælpeværktøjer.

Kontakt

Er jeres WordPress-side fyldt med koder, ingen tør røre?

Vi kan rydde op i shortcodes og plugins, så indholdet igen kan redigeres uden at trække en gammel teknisk kæde efter sig.

Se vores hjemmesideløsninger
Ring eller skriv 51 20 16 95 hej@deluxemedia.dk