2010 02 Jul

Daily Code Poem #29

Ich will in den Posts in meinem WordPress Blogs Kommentare sperren. Aber nicht für alle Posts, sondern erst für Posts welche ein bestimmtes Alter überschritten haben. Ist das möglich?

Klar geht da! Dazu brauchen wir die Datei functions.php und den Filter von WordPress:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//Kommentare zeitgesteuert sperren
function NoComment($posts) {
  //Kommentare sind nur fuer einzelne Posts moeglich
  //Falls es kein einzelnere Post ist, die Funktion verlassen
  if ( !is_single() ) { return $posts; }
  //Ab welchem Alter in Tage sollen keine Kommentare mehr möglich sein?
  $days2close = 60;
  //Alter in Sekunden ausrechnen
  $postSec = $days2close * 24 * 60 * 60;
  if (time() - strtotime( $posts[0]->post_date_gmt ) > $postSec ) {
    //Kommentare sperren
    $posts[0]->comment_status = 'closed';
    //Post-Ping sperren
    $posts[0]->ping_status    = 'closed';
  }
  //(veraenderte) Posts zurueckgeben
  return $posts;
}
 
//Filter hinzufuegen und Funktion aktivieren
add_filter( 'the_posts', 'NoComment' );

ähnliche Posts:

Dieser Eintrag wurde

Der Artikel hat Dir geholfen?

Kaffeetasse
Warum spendierst Du mir nicht einen Kaffee?
 

Sei aktiv, kommentiere diesen Artikel!

 





XHTML - Du kannst diese Tags benutzen:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

an den Anfang