Zelf een blog of website bouwen waarop je regelmatig nieuwe content wilt plaatsen? Dat kan met een contentmanagementsysteem als WordPress. Dit cms is zowel voor beginners als gevorderden erg interessant dankzij zijn toegankelijkheid, maar wij richten ons specifiek op de gevorderde gebruiker die niet bang is de code in te duiken!

WordPress is een van de toegankelijkste contentmanagementsystemen die verkrijgbaar zijn en is bovendien gratis. Zelfs zonder html-kennis kun je door alleen de juiste zaken aan te klikken en een Thema te kiezen al een eigen website of blog bouwen. Maar wil je je website helemaal naar je hand zetten, dan ontkom je er niet aan om dieper in WordPress en de code te duiken. We bieden de lezer die deze uitdaging aandurft de helpende hand met adviezen en tips. Maar voordat we gelijk met allerlei technische tips komen, is het toch handig om even heel snel de basis door te nemen, zodat je duidelijk voor ogen hebt hoe WordPress in elkaar zit.

Globale opbouw

WordPress bouwt een website op aan de hand van php-scripts en stylesheets die het cms precies vertellen hoe de site er uit moet komen te zien. De scripts bepalen onder andere welke informatie waar getoond wordt en welke functionaliteiten de website kent. Denk bijvoorbeeld aan wat de zijbalk(en) bevatten (sidebar.php), hoe pagina’s zijn opgebouwd (page.php) en hoe je hoofdpagina is ingedeeld (index.php).

Er zijn in totaal wel meer dan twaalf php-scripts die de opbouw van je site bepalen. Het precieze aantal hangt sterk af van het thema dat je gebruikt. De stylesheet, style.css geheten, gaat over de cosmetische aspecten van de site en vertelt onder andere welke kleuren gebruikt moeten worden, hoe groot de letters moeten zijn en hoe ze precies gepositioneerd moeten worden. Als je in het WordPress Dashboard naar het menu Weergave gaat en daar op Bewerker klikt, krijg je een overzicht van bestanden die gezamenlijk je website opbouwen. Zo zie je bijvoorbeeld header.php, index.php en footer.php.

Deze drie bestanden samen bouwen je complete homepage, waarbij eventueel nog andere php-bestanden gebruikt worden, afhankelijk van het thema dat je gebruikt. Tevens kun je in dit venster ook aanpassingen in de code doorvoeren en opslaan, mits je de schrijfrechten goed hebt ingesteld op je server. Dit kan vaak eenvoudig via de ftp-client.

De loop

WordPress bewaart alle berichten en pagina’s die je maakt in een sql-database. De verzameling van al deze berichten wordt de loop genoemd. Deze kun je het beste beschouwen als één grote poel waarin echt al je berichten staan. Natuurlijk wil je niet dat alle berichten standaard op chronologische volgorde op de homepage van je website getoond worden, hoewel dit zeker wel mogelijk is. Om de juiste gegevens op je homepage te plaatsen, moet dus de loop aangeroepen worden en moet er als het ware een ‘bestelling’ van data gedaan worden. In deze bestelling, wat natuurlijk een stukje code is, geef je aan aan welke aspecten een bericht moet voldoen, wil hij op de homepage gepubliceerd worden. Zo is het dus bijvoorbeeld ook mogelijk om twee loopaanroepingen te verwerken op de homepage die ieder berichten tonen uit bijvoorbeeld een andere categorie. Denk bijvoorbeeld aan een categorie Nieuws en Columns. De berichten worden uit dezelfde loop gehaald, want daar is er maar één van, maar er kunnen wel twee verschillende datastromen getoond worden. Hier onderaan zie je de standaardcode voor het oproepen van de loop. Het aanroepen van de loop begint hier:

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

En eindigt hier:

<?php endwhile; else: ?>
<p><?php _e(‘Sorry, geen berichten gevonden.’); ?></p>
<?php endif; ?>

Maak altijd backups!

In de komende tien tips zullen we vaak aanpassingen maken in de code. Dit is natuurlijk niet zonder risico, maar alleen als je in de code duikt, kun je jouw website echt laten doen wat je wilt. Het is daarom belangrijk om niet bang te zijn voor de code. Natuurlijk is het wel zo dat wanneer je een (type)fout maakt, dit de volledige website onbenaderbaar kan maken. Echter, als je weet wat je verandert, kun je dit altijd weer gemakkelijk en snel herstellen. Verder kunnen we het niet vaak genoeg zeggen: maak altijd backups! Als je grote, eventueel risicovolle aanpassingen gaat doen in de code, zorg er dan altijd voor dat je een goedwerkend origineel van het bestand achter de hand hebt voor het geval de aanpassing helemaal misgaat en je niet meer precies weet hoe de originele code nu in elkaar zat. Via een ftp-client kun je altijd gemakkelijk originele bestanden weer terugzetten.

Altijd updaten

WordPress is een immens populair blog/cms-systeem dat wereldwijd door miljoenen mensen gebruikt wordt. Hierdoor is het helaas een gewild doelwit van hackers die maar al te graag via vijandelijke scripts je site overnemen en vervolgens hele andere zaken op de site zetten: reclame of wellicht illegale content waar je vervolgens verantwoordelijk voor bent! Om deze reden wordt WordPress dan ook vaak geüpdatet, waarmee kleine lekken gedicht worden. Het is van groot belang dat je deze updates altijd uitvoert, zodat de site zo goed mogelijk beschermd wordt tegen deze aanvallen. Mocht je site toch een keer ten prooi vallen aan hackers, wees dan blij dat je regelmatig een backup hebt gemaakt die gemakkelijk via ftp is terug te zetten.

Weet wat je zoekt

Natuurlijk zijn de komende tien tips maar een handjevol en zijn de mogelijkheden eindeloos. Het is ook goed mogelijk dat de gouden tip voor jou er niet bijzit. Gelukkig is de WordPress-community bijzonder actief en is voor bijna elk probleem wel een oplossing via Google of WordPress.org te vinden. Het zoeken naar de juiste antwoorden kan een drama worden als je niet goed genoeg weet hoe WordPress in elkaar zit. Oefening baart kunst en hoe langer je met WordPress bezig bent, hoe sneller je de juiste antwoorden zult vinden op je vragen. Wees in je zoektocht in elk geval zo precies mogelijk. Geef in de vraag precies aan in welk onderdeel van de site je aanpassingen wilt doorvoeren. Is dat bijvoorbeeld in de header.php, in de zijbalk of in de loop in het hoofdsjabloon (index.php)? Misschien zul je meerdere vragen moeten stellen voordat je de uiteindelijke oplossing hebt gevonden, maar met elke vraag begrijp je stukje bij beetje meer van WordPress.

Pagina’s of berichten negeren bij een zoekfunctie

De meeste WordPress thema’s bevatten een zoekfunctie waarmee bezoekers gemakkelijk door de content van je website kunnen zoeken. Maar in sommige gevallen wil je niet dat bepaalde berichten of pagina’s gevonden worden met deze zoekfunctie, denk bijvoorbeeld aan de contactpagina of de ‘wie zijn wij’-pagina. Of je wilt niet dat berichten van een bepaalde categorie doorzocht worden.

De plugin Simply Exclude is dan de oplossing. Met deze plugin kun je per pagina instellen of deze wel of niet meegenomen moet worden in zoekopdrachten. Maar dat is nog niet alles. Je kunt met Simply Exclude ook instellen welke categorieën of berichten met bepaalde tags doorzoekbaar zijn en of deze berichten getoond mogen worden op de homepage of in de rss-feed. Er zijn vele instellingen, maar je dient er wel rekening mee te houden dat zodra een bericht zich in de excluded-categorie bevindt, het ook echt genegeerd wordt, ook al bevindt het zich ook nog in andere categorieën.

Tip 2: simpele aanpassingen door afbeeldingen te vervangen

Bij het zoeken naar een geschikt thema zul je ongetwijfeld thema’s tegenkomen die qua opbouw precies zijn wat je zoekt, maar qua uiterlijk totaal niet voldoen aan de eisen. Dat is op zich geen enkel probleem. Je kunt het uiterlijk van de site immers zelf aanpassen. De simpelste manier van het cosmetisch veranderen van je site is de afbeeldingen van het thema aanpassen naar je eigen wensen. De afbeeldingen voor het thema vind je in de volgende map op je WordPress-site: .../wp-content/themes/<JOUW GEKOZEN THEMA>/images.

Deze afbeeldingen kun je gemakkelijk down- en uploaden met een ftp-programma als Filezilla. Met een beeldbewerkingsprogramma zoals Photoshop kun je de afbeeldingen veranderen. Het is natuurlijk wel verstandig om de grootte van de afbeeldingen in de gaten te houden en deze niet te laten afwijken van het origineel. Zo weet je zeker dat de veranderingen soepel verlopen. De bestandsgrootte hoeft natuurlijk niet overeen te komen, maar houd er wel rekening mee dat het voor de snelheid van de site niet verstandig is om afbeeldingen met een flinke bestandsgrootte te gebruiken.

Tip 3: Nul reacties verdoezelen

Waarschijnlijk kunnen mensen op je site reageren op berichten. Het staat altijd goed wanneer er bij een bericht staat dat er een aantal reacties zijn. Maar als je doelgroep weinig reageert, dan staat er bij al je berichten ‘0 reacties’. Dit kan het beeld opwekken dat je website niet actief is of dat deze weinig bezocht wordt. Het staat in elk geval niet prettig.

Je kunt heel eenvoudig de 0 reacties veranderen in een zin die positiever overkomt, zoals ‘Reageer nu!’ of ‘Geef een reactie’. Dit is eenvoudig te bewerkstelligen door op de juiste plaats in de code ‘0 Reacties’ te vervangen. In het hoofdsjabloon van de site, index.php, staat vermoedelijk een code die veel lijkt op het onderstaande:

<div class=”data”>
<span class=”clock”><?php the_time(‘j F Y’); ?></span>
<span class=”comm”><?php comments_popup_link(‘0 Reacties’, ‘1 Reactie’, ‘% Reacties’); ?></span>
</div>

Hierin zie je al duidelijk staan wat er weergegeven wordt op het scherm wat reacties betreft. Vervang tussen de aanhalingstekens ‘0 Reacties’ eenvoudigweg door iets anders. Dat wordt vervolgens op de homepage gecommuniceerd in plaats van ‘0 Reacties’. Andere bestanden waarin je de reacties kunt aanpassen zijn: archive.php, comments.php en single.php.

Tip 4: Het verschil tussen the_excerpt en the_content

Je berichten kunnen op de homepage op verschillende manieren getoond worden. De eenvoudigste methode is door de tekst in het bericht af te breken met de tag <!--more-->. Alles wat voor deze tag in de html-code staat, wordt in dezelfde stijl afgebeeld op de homepage of archief. We gaan we er dan echter wel vanuit dat er in de loop van je index.php of archive.php de volgende code staat: <?php the_content(); ?>.

Wil je op de homepage het bericht niet op exact dezelfde wijze tonen als in het bericht zelf en wil je het bericht standaard na eenzelfde aantal woorden afkappen? Dan moet je de volgende code gebruik in de loop: <?php the_excerpt(); ?>. Deze code laat de tekst zien in de stijl van de huidige pagina en onderbreekt de tekst standaard na 55 woorden.

Afhankelijk van je thema kan deze onderbreking hard zijn in de vorm van [...] op het einde of in de vorm van een Lees verder-link. Dit hangt van je thema af, maar je kunt dit zelf ook instellen. The_excerpt is een functie die uitgebreid in te stellen is, mits je niet bang bent zelf enige aanpassingen in de code te maken. Meer informatie over the_excerpt vind je op codex.wordpress.org/Template_Tags/
the_excerpt.

Tip 5: Functies deactiveren zonder coderegels te verwijderen

Wellicht zijn er bepaalde functies in je thema die je op het moment niet nodig hebt, maar die je niet definitief wilt verwijderen uit de code. Of je bent de functies van je thema aan het verkennen en wilt graag wat experimenteren door code weg te halen om te zien wat er gebeurt. Dit laatste proces kan bijzonder leerzaam zijn.

Een slimme manier om code inactief te maken zonder dat je deze verwijdert, is door binnen de php-tags gebruik te maken van /* en */. Zo hebben we op onze voorbeeldwebsite bovenin een tekstvlak met nieuws staan die in de index.php opgeroepen wordt door de volgende code:

<?php include (TEMPLATEPATH . ‘/slide.php’); ?>

Als we hier gebruikmaken van /* en */ , dan ziet de code er als volgt uit:

<?php /* include (TEMPLATEPATH . ‘/slide.php’); */ ?>

Het tekstvlak verdwijnt, maar is weer makkelijk terug te zetten door de elementen /* en */ te verwijderen.

Tip 6: Blokkerende plugins onschadelijk maken

WordPress is een fijn cms, maar het upgraden van WordPress zelf of van de plugins die je gebruikt is niet zonder risico. Daarom is het noodzakelijk een backup te maken voordat je upgradeacties uitvoert. Soms zorgt een upgrade ervoor dat je niet meer kunt inloggen op je eigen website of je website lijkt helemaal de geest te hebben gegeven. Vaak blijkt dan een plugin de oorzaak van alle ellende.

Met een beetje geluk kun je met googelen erachter komen welke plugin je parten speelt, maar het kan nooit kwaad om voor jezelf op een rijtje te hebben welke plugins je gebruikt.

Gelukkig hoef je niet in te loggen op WordPress om ze te deactiveren. Start je favoriete ftp-programma op en ga naar de map .../wp-content/plugins. Hier zie je alle pluginbestanden staan. Het weghalen van de juiste pluginmap zal automatisch de plugin uitschakelen en hiermee het probleem oplossen.

Tip 7: Bepaalde berichten op de hoofdpagina negeren

Op de hoofdpagina (index.php) staan doorgaans alle berichten, maar het kan natuurlijk zijn dat je berichten uit een bepaalde categorie niet op de homepage wilt hebben. Onze voorbeeldwebsite is een gameswebsite met nieuwsberichten en gamereviews. De hoofdpagina is een opsomming van de laatste gamereviews en daartussen horen geen nieuwsberichten. Er zijn drie verschillende methodes om dit op te lossen.

Methode 1: in de hoofdpagina (index.php) zoek je de volgende code op:

<?php if (have_posts()) : ?>

<?php while (have_posts()) : the_post(); ?>

Direct daar onderaan plak je de volgende code, waarbij X het categorie-id-nummer is dat je wilt negeren.

<?php if (in_category(‘X’)) continue; ?>

Een nadeel van deze methode is dat het bericht wel meetelt in de ‘hoeveelheid berichten per pagina’-instelling van WordPress hoewel deze niet getoond wordt. Als je dus tien berichten per pagina laat zien en twee van de eerste tien berichten worden genegeerd, dan zie je op dat moment dus maar acht berichten op de hoofdpagina.

Methode 2: een nettere methode is de volgende. Je zoekt weer de bij Methode 1 aangegeven code op. Maar deze keer plak je direct ervóór de volgende code:

<?php $paged = (get_query_var(‘paged’)) ? get_query_var(‘paged’) : 1;

query_posts(“cat=-X&paged=$paged”); ?>

Met deze methode wordt altijd de juiste hoeveelheid berichten op de pagina getoond. Er is echter wel een maar. Deze code negeert alleen berichten die enkel tot categorie X behoren. Als berichten naast categorie X ook nog behoren tot een andere categorie, worden ze alsnog getoond.

Methode 3: je gaat op dezelfde manier te werk als bij methode 2, maar plaatst nu de volgende code.

<?php query_posts($query_string . ‘&cat=-X’); ?>

Ook hier wordt altijd de juiste hoeveelheid berichten getoond, maar deze methode is strenger. Zodra een bericht valt in categorie X, wordt hij genegeerd, ook als hij tot andere categorieën behoort.

Tip 8: Het juiste categorie-id-nummer achterhalen

Voorgaande tip 7 heeft natuurlijk alleen zin als je weet hoe je achter het categorie-id-nummer komt van de categorie die je wilt negeren. Die is relatief eenvoudig te achterhalen, maar je moet wel weten waar je moet zoeken.

Ga in het Dashboard naar het onderdeel Categorieën. Je krijgt een overzicht te zien van alle categorieën van je website. Vervolgens klik je op de categorie waarvan je het id-nummer wilt weten. Nu zie je in de adresbalk als laatste ‘ID=’ staan, gevolgd door een getal. Dit getal is het categorie-id-nummer van de door jou aangeklikte categorie.

Tip 9: Blogtitel en beschrijving niet meer tonen

In WordPress moet je altijd de naam van je website en een onderschrift invullen in de algemene instellingen. Dit is nuttige informatie waar Google ook raad mee weet en verhoogt de vindbaarheid van je site.

Er zijn echter een hoop WordPress-thema’s die de naam en de beschrijving ook op de site plaatsen. Dit is niet altijd handig, want het zou zomaar kunnen dat je de titel van je website anders wilt presenteren, door middel van een banner bijvoorbeeld.

Het tonen van de sitenaam en beschrijving is bijna altijd in het koptekstbestand (header.php) geprogrammeerd. In header.php, gemakkelijk via de Weergavebewerker te benaderen, zoek je de volgende code:

<div class=”blogname”>

<h1><a href=”<?php bloginfo(‘siteurl’);?>/” title=”<?php bloginfo(‘name’);?>”><?php bloginfo(‘name’);?></a></h1>

<h2><?php bloginfo(‘description’); ?></h2>

</div>

De hierboven beschreven php-code haal je weg of voorzie je van code waarmee je regels negeert. Je plaatst dan <?php /* voor de eerste coderegel en sluit de te negeren code af met */?>.

Tip 10: Makkelijk backups maken van de sql-database

Backups, backups, backups! Met dat mantra ben je ongetwijfeld nu wel meer dan bekend, maar het backuppen van de sql-database is best nog wel een hoop gedoe. Zo moet je waarschijnlijk in het webprogramma phpMyAdmin allerlei lastige instellingen verwerken voordat je een backup kunt maken.

Met de plugin WordPress Database Backup maak je snel en gemakkelijk backups van de sql-database vanuit het Dashboard. Je kunt zelfs periodieke backups instellen en de backupbestanden naar jezelf laten mailen.

Deel dit artikel
Voeg toe aan favorieten