In versie 2.5 introduceerde WordPress shortcodes en we hebben ze waarschijnlijk allemaal op een bepaald moment gebruikt. Ze worden meestal gebundeld met plug-ins, of zelfs thema's, en waar ze naar kijken, is wanneer je iets tussen vierkante haken invoegt en dat dan vervangt door een andere inhoud; het zou een simpele zin kunnen zijn of het zou een enorme PHP-functie kunnen zijn, het hangt allemaal af van wat je WordPress opdroeg te doen.
Gebundelde shortcodes zijn geweldig, en versnellen dingen aanzienlijk, maar zou het niet geweldig zijn om te weten hoe je zelf shortcodes kunt maken?
In dit artikel neem ik u mee door enkele eenvoudige WordPress-snelcodes te maken waarmee u elke gewenste functionaliteit kunt maken.
De shortcode-API werkt heel eenvoudig: eerst moet u een callback-functie maken die wordt uitgevoerd wanneer de shortcode wordt gebruikt; dan moet je die functie koppelen aan een specifieke shortcode waardoor deze klaar voor gebruik is. De code wordt vaak in het bestand functions.php geplaatst, maar als u van plan bent veel shortcodes te hebben, is het zinvol om een apart bestand te maken en dat bestand op te nemen in uw functions.php-bestand.
In ons eerste voorbeeld willen we een shortcode maken die elke lorem ipsum zal creëren elke keer dat we [lorem] in de editor typen. Eerst moeten we de callback-functie maken die het lorem ipsum retourneert (in shortcodes herhalen we niets, alles wordt geretourneerd):
function lorem_function() {return 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec nec nulla vitae lacus mattis volutpat eu at sapien. Nunc interdum congue libero, quis laoreet elit sagittis ut. Pellentesque lacus erat, dictum condimentum pharetra vel, malesuada volutpat risus. Nunc sit amet risus dolor. Etiam posuere tellus nisl. Integer lorem ligula, tempor eu laoreet ac, eleifend quis diam. Proin cursus, nibh eu vehicula varius, lacus elit eleifend elit, eget commodo ante felis at neque. Integer sit amet justo sed elit porta convallis a at metus. Suspendisse molestie turpis pulvinar nisl tincidunt quis fringilla enim lobortis. Curabitur placerat quam ac sem venenatis blandit. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nullam sed ligula nisl. Nam ullamcorper elit id magna hendrerit sit amet dignissim elit sodales. Aenean accumsan consectetur rutrum.';}
Vervolgens moeten we deze shortcode toevoegen aan WordPress met behulp van de add_shortcode- functie in ons functions.php-bestand of een bestand dat erin wordt opgenomen, deze functie voegt de shortcode toe en bindt het ook met de functie die we zojuist hebben gemaakt. add_shortcode neemt slechts twee argumenten, de eerste is de naam die we deze shortcode willen hebben (wat we tussen de vierkante haken typen) en de tweede is de functie die we aan die shortcode willen koppelen:
add_shortcode('lorem', 'lorem_function');
Dat is alles wat nodig is om een eenvoudige shortcode te maken in WordPress.
Als we dit dummy-inhoudsidee voortzetten, hebben we vaak afbeeldingen nodig in onze inhoud wanneer we onze testmodellen voorbereiden en deze afbeeldingen moeten verschillende formaten hebben. Daarom maken we nu een shortcode om een afbeelding als deze in te voegen:
[picture width="500" height="500"]
Wanneer WordPress dit tegenkomt, willen we een functie die een afbeelding invoegt. Het moet de kenmerken width en height lezen, maar voor het geval dat we ook standaardwaarden leveren zodat deze zonder de attributen kunnen worden gebruikt. Omdat we mogelijk geen afbeelding beschikbaar hebben, gaan we de afbeelding gebruiken lorempixel.com dienst om ons een willekeurige afbeelding te geven.
Eerst moeten we de functie maken:
function random_picture($atts) {extract(shortcode_atts(array('width' => 400,'height' => 200,), $atts));return '';}
We noemden deze functie random_picture en omdat deze shortcode in staat zal zijn om argumenten aan te nemen, hebben we deze de $ atts parameter gegeven. Om de attributen te gebruiken, hebben we twee functies nodig: de shortcode_atts , een WordPress-functie die onze kenmerken combineert met bekende kenmerken en standaardwaarden opvult wanneer dat nodig is; en de PHP- extract-extract die, zoals de naam al doet vermoeden, die attributen extraheert die we hebben ingesteld voor onze shortcode. Tenslotte retourneert de functie de gewenste waarde, in dit geval de HTML-code voor onze afbeelding in combinatie met de breedte- en hoogtevariabelen.
Het enige dat u hoeft te doen, is deze shortcode registreren:
add_shortcode('picture', 'random_picture');
Onze shortcode is compleet, wanneer we [foto] typen, krijgt het een willekeurige afbeelding van 400 bij 200, en als we de kenmerken gebruiken, kunnen we een afbeelding maken van elke gewenste grootte.
Het maken van kleine shortcodes voor dingen die we vaak gebruiken, helpt ons zeker bij het schrijven van blogposts omdat je alles kunt doen wat je wilt met shortcodes, het kan zo simpel zijn als het retourneren van een zin, of zo complex als het toevoegen van een formulier of de laatste posts gesorteerd op maand.
Heb je nuttige shortcodes voor WordPress gemaakt? Welke shortcodes wenst u dat er bestond? Laat het ons weten in de comments.
Uitgelichte afbeelding / thumbnail, code afbeelding via Marjan Krebelj.