WordPress: Nutzer über die Zeit der Kommentarschließung informieren

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.

Kommentare schließen

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.

Kommentare_geschlossen

One thought on “WordPress: Nutzer über die Zeit der Kommentarschließung informieren”

Leave a Reply

Your email address will not be published. Required fields are marked *

To respond on your own website, enter the URL of your response which should contain a link to this post's permalink URL. Your response will then appear (possibly after moderation) on this page. Want to update or remove your response? Update or delete your post and re-enter your post's URL again. (Find out more about Webmentions.)