Bij veel WordPress thema’s wordt de publicatiedatum van posts standaard getoond in het format dd/mm/yyyy (bijv. 01/02/2019). Je kan er echter ook voor kiezen om de tijd en datum te tonen in ‘relatieve’ tijd. Dit is een meer menselijk leesbare vorm, zoals “10 minuten geleden, 3 uren geleden, 2 dagen geleden, etc.”

Deze relatieve tijdnotatie geeft websitebezoekers een idee van hoeveel tijd er is verstreken sinds er iets is gepost. Je ziet deze relatieve tijdnotatie vaak op nieuwswebsites, blogs en social-mediakanalen zoals Facebook en Twitter.

Je kan de standaard WordPress tijdnotatie voor posts wijzigen naar de relatieve tijd op een drietal manieren:

  1. door een eigen datum- en tijd template-functie te maken, en de template-bestanden aan te passen
  2. Door de standaard ingebouwde WordPress get_the_date en get_the_time functies te overschijven met een ‘callback functie’, zonder de template bestanden aan te passen.
  3. Door een plugin te gebruiken

1. De tijdnotatie aanpassen naar ‘tijd geleden’ met een eigen template-functie

Als je de onderstaande code snippet in je functions.php bestand plakt kan je de functie wpsimpel_time_ago() gebruiken in de template-bestanden van je thema, in plaats van de standaard datum- en tijdfuncties zoals the_date() en the_time().

Lees hier hoe je code snippets op de juiste manier toevoegt aan je website.
Lees hier hoe je een site specifieke plugin maakt.


function wpsimpel_time_ago() {
	return human_time_diff( get_the_time( 'U' ), current_time( 'timestamp' ) ).' '.__( 'ago', 'your-text-domain' );
}

In onderstaand (basic) voorbeeld zie je hoe je de zojuist aangemaakt functie kan toepassen in de template-bestanden van je thema:

<?php if ( have_posts() ) : ?>
	<?php while ( have_posts() ) : the_post(); ?>
		<?php the_title(); /* The post title */ ?>
		<?php echo wpsimpel_time_ago(); /* post date in time ago format */ ?>
		<?php the_content(); /* the post content */ ?>
	<?php endwhile(); ?>
<?php endif; ?>

De code van je thema kan verschillen van bovenstaand voorbeeld. In veel thema’s is dit (of een vergelijkbaar) stuk code te vinden in bestanden als index.php of content.php.

2. De standaard WordPress tijd en datum functies overschijven met een ‘callback’ functie.

Deze manier is meer geschikt wanneer je een child theme gebruikt, omdat je op deze manier geen template-bestanden hoeft aan te passen. De functies zoals get_the_date() en get_the_time() van het parent thema worden automatisch overschreven door onderstaande ‘callback functie’, welke je in het functions.php bestand van je child theme plakt.

add_filter( 'get_the_date', 'wpsimpel_convert_to_time_ago', 10, 1 ); // Override date display
add_filter( 'the_date', 'wpsimpel_convert_to_time_ago', 10, 1 ); // Override date display
add_filter( 'get_the_time', 'wpsimpel_convert_to_time_ago', 10, 1 ); // Override time display
add_filter( 'the_time', 'wpsimpel_convert_to_time_ago', 10, 1 ); // Override time display
 
/* Callback function for post time and date filter hooks */
function wpsimpel_convert_to_time_ago( $orig_time ) {
	global $post;
	$orig_time = strtotime( $post->post_date ); 
	return human_time_diff( $orig_time, current_time( 'timestamp' ) ).' '.__( 'ago', 'your-text-domain' );
}

3. De standaard WordPress tijd en datum functies overschijven met een plugin

Je kan natuurlijk ook een plugin gebruiken voor de relatieve datum- en tijdweergave. De plugin Meks Time Ago is een basic plugin waar alles in zit wat je nodig hebt. De instellingen hiervan zitten een beetje verstopt, onderaan op de pagina Algemene instellingen (https://jewebsite.nl/wp-admin/options-general.php#mkstimeago).

  • Je kan kiezen of je de relatieve notatie wil toepassen op de datum, de tijd of allebei.
  • Je kan de relatieve notatie toepassen op posts die niet ouder zijn dan X minuten/uren/dagen/maanden
  • Je kan er voor kiezen om het woord ‘geleden’ voor of na de relatieve datum te plaatsen.
  • Je kan het Engelse woord ‘ago’ vertalen.

Beoordeel deze post:

Gemiddeld: 0 / 5. Aantal beoordelingen: 0

Nog geen beoordelingen

Whoops! 😔

Zou je ons willen laten weten hoe we (deze post) kunnen verbeteren?