In het vorige artikel hebben we de basisprincipes van shortcode-mapping besproken en hoe u toegang kunt krijgen tot de geweldige voordelen ervan. We hebben besloten om het artikel over de Page Builder Sandwich-versie van Shortcode Mapping op te splitsen, aangezien het volgende verslag wat technischer kan worden.
Hieronder vindt u meer diepgaande beschrijvingen van de innerlijke werking van onze shortcode-mappingfunctie en hoe we deze aan de praat hebben gekregen.
Een geautomatiseerd proces
Om te bepalen welke plug-ins in de shortcode-mapper moeten worden opgenomen, hebben we een geautomatiseerd script gebouwd dat de beste plug-ins in de WordPress-plug-indirectory verzamelt op basis van de volgende criteria:
- Binnen de 1.000 populaire, best beoordeelde en bijgewerkte plug-ins, met minimaal 4.000 actieve installaties,
- Met minimaal 4.000 actieve installaties,
- Met minimaal 20 beoordelingen, en;
- Met een gemiddelde score van minimaal 3 sterren
We voeren deze query dagelijks uit op de WordPress-plug-indirectory. Deze filters zorgen ervoor dat we een lijst krijgen van plug-ins van goede kwaliteit die veel mensen gebruiken. Op het moment dat dit werd geschreven, leverden deze criteria 800 plug-ins op. Dat is veel. Zeg maar gerust: heel veel.

Vervolgens voeren we een reeks geautomatiseerde controles uit op de broncode van elke plug-in om te achterhalen of deze shortcodes bevat, en daarna proberen we al die shortcodes te vinden, inclusief al hun attributen. Na het verwerken van de gegevens resulteerde dit in meer dan 2.000 shortcodes. Dubbele wauw. Gedetecteerde shortcodes worden vervolgens ingevoerd in de database voor shortcode-mapping voor handmatige inspectie.
Aan het einde van dit proces hebben we een enorme lijst met plug-ins en wat hun mogelijke shortcodes zijn. Het is nu een kwestie van deze gegevens opschonen om ervoor te zorgen dat alles klopt.
Een handmatig proces
Dit is waarschijnlijk het moeilijkste deel van het hele mappingsysteem. Plug-incode komt in allerlei vormen en maten voor; niet alle shortcodes worden automatisch gedetecteerd door onze scripts. Hoewel de WordPress Codex aangeeft de functie `shortcode_atts` te gebruiken om de attributen van een shortcode te filteren, is dit slechts een aanbeveling en doet niet iedereen dit. Er is ook geen waterdichte manier om het binnenwerk van een shortcode te controleren wanneer een plug-in is geïnstalleerd.
Om er dus voor te zorgen dat we alle shortcodes en hun attributen goed krijgen, hebben we een front-endgedeelte gemaakt dat speciaal is gewijd aan het bewerken van shortcodes en attributen, gebouwd met AngularJS en Bootstrap.

We moeten elke plug-in handmatig doornemen, hun shortcode-documentatie controleren en ervoor zorgen dat alle gegevens die we hebben correct zijn.
Hoewel dit uiterst tijdrovend en nauwgezet werk is, zijn er enkele lichtpuntjes aan het hebben van een geautomatiseerd proces:
- Volgens onze vroege statistieken heeft slechts ongeveer 1 op de 2 plug-ins shortcodes.
- De helft van de gedetecteerde shortcodes heeft geen attributen (maar een deel hiervan kan vals-positief zijn)
- Door alleen plug-ins van goede kwaliteit te kiezen, is de kans groot dat ze shortcode-documentatie hebben
Pas wanneer alle shortcodes van een plug-in zijn gecontroleerd, zal de server beginnen met het distribueren van de shortcode-mappings van die plug-in naar de gebruikers.
Een REST API-aanroep
Het laatste stukje van de puzzel is de plug-in zelf. Het concept is eenvoudig: achterhaal welke plug-ins actief zijn, welk thema de site gebruikt en welke shortcodes beschikbaar zijn, en vraag vervolgens aan de shortcode-mappingdatabase of deze mappings heeft. Hiervoor hebben we een aangepast WP REST API-eindpunt gemaakt dat alle clients pingen om hun nieuwste shortcode-mappings op te halen.
De toekomst: crowdsourcing
Het handmatig controleren van elke plug-in kost veel tijd en moeite. Zodra het platform voor shortcode-mapping stabiel is, zijn we van plan om shortcode-mapping voor iedereen open te stellen. Dit betekent dat iedereen kan helpen met het toevoegen van shortcodes.
U denkt misschien: “Waarom zou ik helpen met het mappen van shortcodes? Wat levert het mij op?” Nou, er zijn een paar redenen waarom mensen zouden willen helpen:
- Als u een plug-in hebt gemaakt en we deze nog niet hebben opgepikt vanwege de bovenstaande criteria (en deze staat in de WordPress-plug-indirectory), kunt u de mappings zelf toevoegen. Uw plug-in wordt dan volledig ondersteund door PBS!
- Aangezien we in het geautomatiseerde proces alleen plug-ins uit de WordPress-plug-indirectory behandelen, worden auteurs van premium plug-ins en thema’s niet meegenomen. Dus als u er een hebt, kunt u daarvoor ook uw shortcode-mappings toevoegen.
- En voor niet-ontwikkelaars van plug-ins kunnen we degenen die helpen belonen. Om shortcode-mapping aantrekkelijk te maken, kunnen we enthousiaste helpers belonen met een persoonlijke licentie, of een upgrade naar een premiumlicentie van PBS!
Meld u aan voor onze nieuwsbrief
De shortcode-mappingfunctionaliteit zal voor onze klanten voorlopig beschikbaar zijn op 12 augustus 15 augustus 16 augustus 2016. Tegen die tijd zullen nog niet alle shortcodes in kaart zijn gebracht (onze schatting is misschien 100 plug-ins), maar het mappen zal doorlopend gebeuren en klanten ontvangen ze zodra er nieuwe uitrollen.
Meld u aan voor onze nieuwsbrief om nieuws te ontvangen over shortcode-mapping, wanneer we het uitbrengen en wanneer we shortcode-mapping openstellen voor het publiek!