Comment désactiver les commentaires wordpress après un certain temps ?


Lorsque vous écrivez des billets sur votre blog ayant une certaine notion de temporalité il pourrait être assez pratique de pouvoir fermer les commentaires après un certains temps.

Nous pouvons imaginer plusieurs cas :

  • - un blog publiant des quizz ou concours dont chacun à un temps d’existence bien précis (un concours qui dure 5 jours, …)
  • - un blog mal protégé niveau spam et dont le webmaster veux s’alléger la tâche en coupant l’accès aux commentaires une fois les discussion les plus importantes passées (en général les gens contribuent lors de la publication d’un billet mais par la suite ça se tasse).
  • - un blog proposant par nature de la news à durée de vie limitée (je pense notamment à ceux qui postent des annonces ebay, etc…)

Bref pour ces personnes, avoir une désactivation automatisée des commentaires sera une aide appréciable. D’autant plus que ce n’est pas bien compliqué à mettre en place comme vous allez le voir.

En effet il suffit de copier le code qui suit dans le fichier function.php de vôtre thème :

<?php
function close_comments( $posts ) {
	if ( !is_single() ) { return $posts; }
	if ( time() - strtotime( $posts[0]->post_date_gmt ) > ( 30 * 24 * 60 * 60 ) ) {
		$posts[0]->comment_status = 'closed';
		$posts[0]->ping_status    = 'closed';
	}
	return $posts;
}
add_filter( 'the_posts', 'close_comments' );
?>

Si vous la copiez telle quelle, les commentaires seront fermés au bout de 30 jours. donc pour adapter le délai en fonction de vos besoins, il faudra remplacer le 30 par le nombre désiré ( celui qui est en gras dans la fonction ci-dessus).

Bref vous le voyez absolument rien de compliqué à faire et une astuce qui pourra être très intéressante pour certains ;)

 
  Flux RSS des commentaires
 1 commentaire
  1. merci pour le tuto
    Vs aidez vraiment

 Laisser un commentaire

Les commentaires postés par des personnes utilisant des pseudos "SEO" seront remplacés et le lien vers leur site retiré.




Commentaire