Um um vermeiden, dass Spammer die Kommentare älterer Beiträge mit sinnlosen Kommentaren zu müllen, bietet WordPress die Möglichkeit, die Kommentarfunktion eines Beitrages nach einer bestimmten Zeit zu sperren.
Für die Benutzer könnte es aber überraschend sein, wenn die Kommentarmöglichkeit plötzlich verschwunden ist. Es wäre vielleicht eine gute Idee, sie über diesen Termin zu informieren.
add_action( 'comment_form_top', 'topic_closes_in' );
function topic_closes_in() {
global $post;
if ($post->comment_status == 'open') {
$close_comments_days_old = get_option( 'close_comments_days_old' );
$expires = strtotime( "{$post->post_date_gmt} GMT" ) + $close_comments_days_old * DAY_IN_SECONDS;
printf( __( '(This topic will automatically close in %s. )', 'domain' ), human_time_diff( $expires ));
}
}
Der Code sollte einigermaßen selbsterklärend sein, allerdings enthält er eine Funktion, die vielleicht nicht jeder WordPress-Entwickler kennt: human_time_diff()
. Die Funktion ist in der Datei .../wp-includes/formatting.php
versteckt. Ihre eigentliche Aufgabe ist es, die Datumsangabe von Beiträgen etwas “menschlicher” zu gestalten. Da es ihr aber egal ist, ob das Datum in der Vergangenheit oder in der Zukunft liegt, können wie sie für unsere Zwecke nutzen.
Leave a Reply