Worstelen met de Timed-Content-Rules Plugin

Het begint altijd hetzelfde. Je bent van mening dat er voor een bepaalde toepassing die je op een website wilt toepassen natuurlijk wel een plugin te vinden zal zijn. En dan kan het twee kanten op. Of je vind er minstens vijf dozijn die allemaal net een beetje van elkaar verschillen waardoor een keuze maken niet erg makkelijk is en véél tijd vraagt. Of je vindt niks. Nou ja, niks meestal een plugin die niet meer ondersteund wordt door WordPress zodat dat ook geen mogelijkheden biedt.

Zo ging het mij ook bij het automatisch willen plaatsen van elke dag een ander plaatje op onze website. De plugin moest z’n informatie zelf uit de site halen nadat je die informatie voor hem had klaargezet in een database. Ik vond al gauw een pracht van een plugin “Daily Image” die precies datgene beloofde te doen waar ik naar zocht. Maar ja, de plugin werd al zes jaar niet meer ondersteund dus daar had ik niets aan.

de speurtocht

Omdat je niet wilt geloven dat zoiets eenvoudigs niet bestaat, doorzoek je het plugin-aanbod op alle mogelijkheden. Calendar, Image, Content, Daily, variable, kortom elke mogelijke combinatie waarbij iets met een zekere regelmaat zou worden geplaatst heb ik uitgeplozen. Met als resultaat: Niks, nada, noppes, nihil.

Denkend dat een softwareontwikkelaar me misschien verder zou kunnen helpen, nam ik contact op met een bureau die zoiets zou kunnen volgens hun website. Ik legde de betreffende ontwikkelaar uit dat ik iets nodig had zoals de vroegere “Daily Image” plugin.

Hoopvol wachtte ik op verdere berichten, maar helaas wacht ik vandaag nog steeds. Dus als zelfs een software ontwikkelaar mij niet kon helpen, dan moest ik het idee dat zoiets wel zou bestaan maar naast me neer leggen.

Dat heb ik toen ook gedaan en heb er een aantal weken niet meer aan gedacht totdat ik struikelde over het woord “Time” en me realiseerde dat ik bij mijn plugin-zoektocht daar nog niet op had gezocht. En zowaar, ik vond een internet artikel dat handelde over de plugin “Timed Content”. Dit artikel beweerde dat “The Timed Content plugin allows users to specify that a portion of a Page or Post should appear/be visible or disappear/be invisible based on given time characteristics. You can also make portions of a Post or Page be visible at certain dates and times; you can even set up a schedule!”.

Maar er zijn/waren er echter wereldwijd maar zo’n 9000 van geïnstalleerd dus dat was niet zo erg hoopgevend in mijn ogen. Maar, hoewel spaarzaam gedownload, de plugin heeft een gezonde 5-sterrenbeoordeling.

de Timed-Content Rules Plugin

Toen besloot ik de 9001ste gebruiker te worden. En – dat kan ik achteraf zeggen – naar volle tevredenheid.

In het vervolg van deze Blog zal ik de mogelijkheden en de moeilijkheden die ik moest overwinnen voordat ik de plugin kon gebruiken, omschrijven. Misschien heeft u er iets aan als u ook elke dag automatisch een ander plaatje of tekstje op uw website wilt plaatsen.

O.K. Door het op de gebruikelijke manier installeren en activeren van de plugin komt er in een WordPress opmaakdeel van een pagina een nieuw icoon te staan: een Wekkertje.

Met deze wekker heeft u toegang tot de drie mogelijkheden die de plugin biedt, te weten Client, Server en Timed Content Rules.

Client en Server instelling

De Client-instelling geeft de mogelijkheid om iets (tekst, afbeelding, een combinatie) op een te kiezen plaats op een site te laten verschijnen of verdwijnen na een bepaalde tijdsinterval.

Stel de verschijningstijd in minuten en seconden in onder “show” en het verdwijnen daarvan onder “hide”. Eventueel kunt u er ook nog een fade-in en een fade-out aan toevoegen. Dat is echter optioneel. Door op insert te drukken wordt de time code aan/in de inhoud toegevoegd.

Deze functionaliteit is vooral bedoeld om te worden gebruikt voor speciale effecten, aangezien de inhoud die op deze manier is gemarkeerd, nog steeds zichtbaar is in de HTML-bron en daarom geen écht veilige methode is om inhoud te verbergen.

Dan is er nog de keuze tussen de “Server” en de “Timed Content Rules” mogelijkheid.

In principe doen beide mogelijkheden hetzelfde: de van de code voorziene inhoud is alleen zichtbaar tijdens een gespecificeerde datum-/tijdsintervallen.

Deze functionaliteit is een veilige methode om de inhoud te verbergen, omdat de gemarkeerde inhoud niet zichtbaar is in de HTML-bron, maar alleen wordt opgenomen op de pagina/post tijdens de opgegeven datum-/tijdsintervallen.

Bij de server instelling krijg je in tegenstelling tot de cliënt instelling de mogelijkheid om óók de datum in te stellen. De code wordt direct aan het document toegevoegd. Dat is het grote verschil met de Timed Content rules instelling: daar wordt de instelling opgehaald uit een van te voren gemaakte lijst met tijden en instellingen.

Timed content rules instelling

In het dashboard staat Time Content Rules aangegeven. Kies daar Add new. Vervolgens verschijnt er een scherm waarbij u de geplande data en tijden en de tijdzone invult. Daarna vult u in hoe vaak de handeling moet plaatsvinden (per uur, per dag, per week, per maand of per jaar) en hoe vaak per ingestelde tijdseenheid.

Daaronder stelt u in wanneer de presentatie moet stoppen. U kiest daarbij uit een aantal keren of een door u in te stellen datum.

Geef de instelling een naam (ik gebruik hiervoor meestal de datum waarop iets moet gebeuren) en druk op “publiceren”. Na het publiceren verschijnt de instelling in een lijst met geplande data waaruit je later, als dit nodig is bij een artikel, een instelling uit kunt halen.

Adders onder het gras

Simpel nietwaar? Maar er zaten nog twee gemene adders onder het digitale gras en wel deze. Ten eerste de plaatsing van de code.

Ik heb een tekstdocument dat ik op een van tevoren gepland moment wil tonen op bijvoorbeeld de homepagina van mijn site. Ik klik op het wekkertje in de menubalk van het tekstvlak en haal de timed code op. Geweldig. Het programma plaatst de code achter de tekst die moet verschijnen. Dat ziet er zoals hiernaast op de bovenste afbeelding is getoond uit.

Op het geplande tijdstip verschijnt de tekst in beeld maar op het geplande tijdstip van vertrek blijft de tekst staan. Dat is niet de bedoeling. De oplossing daarvoor is betrekkelijk simpel. Alle informatie moet tussen de twee delen van Timed-Content worden geplaatst. Dat ziet er dan rechts als op de tweede afbeelding van boven uit:

Dit blijkt te werken in de praktijk. Niet alleen voor simpele teksten maar voor hele opgemaakte pagina’s werkt dat. Zet een pagina in de WordPress-editor modus. Deel de code voor en achter de informatie en alles van die pagina zal volgens schema verschijnen en verdwijnen.

Tom Poes verzint een list

Alles voor de bakker dacht ik toen, maar niets bleek minder waar. De tweede erg gemene adder stak nu z’n kop boven het grasveld. Bij de uitvoerige testen die ik gedaan heb bleek steeds dat er niets verscheen op de door mij ingestelde tijdstippen. Pas als ik de pagina refreshte gehoorzaamde deze aan de ingestelde tijdscodes.

Dat vond ik niet handig. Want hoe kan je van een bezoeker van je site verwachten dat hij een pagina waar hij op dat moment is zal refreshen als daar geen aanleiding voor is. Nadat ik contact met de maker van de plugin had (via een forum), legde hij uit dat het niet mogelijk was om het zo in te stellen dat het automatisch zou werken.
De reden daarvoor is dat de server het laatste stukje van de informatie van de plugin niet automatisch doorstuurt. Pas bij refreshen van een pagina zal een server álle (dus ook de time content informatie) doorsturen.

Maar toen werd het dus tijd om Tom Poes een list te laten verzinnen. En wel de volgende. Door op de homepagina een vraag te stellen over het te vertonen onderwerp waar de bezoeker op moet klikken (bijvoorbeeld klik hier als u wilt weten wat er vandaag in de aanbieding is) gaat een bezoeker naar die bewuste pagina.

Door het simpele feit dat de bezoeker de pagina verlaat, refresht de site zich bij het naar de nieuwe pagina gaan en is alle – dus ook de timed-code informatie – automatisch aanwezig.

Ik heb nu een pagina aangemaakt waar ik de informatie van 15 verschillende dagen heb geplaatst. Elke dag begint met z’n eigen Timed-content-rules Id en eindigt met de eindcode daarvan. Vervolgens begint de volgende dag ook weer met z’n eigen Timed-content-rules Id en eindigt met de eindcode daarvan. Enzovoort, enzovoort. Let er wel op dat bij het plaatsen van de eindcode van de ene info en de begincode van de volgende info een HARDE return moet zitten. Geeft u een gewone return dan zullen beide informaties te zien zijn.

Op dit moment draait deze toepassing al ruim drie weken zonder enige hapering op onze site. Elke dag om 00:00 uur start de nieuwe dag tot z’n eindtijd 23:59, waarna de volgende dag weer probleemloos op 00:00 begint.
Iets voor u? In elk geval hoop ik dat ik met mijn onbeholpen amateuristische beschrijving u een handvat heb gegeven om deze plugin naar tevredenheid te kunnen gebruiken.
Timed-Content Rules verdient het!

Leave a comment

Deze website gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.