Website-Icon The Magical Digital Nomad

Eine Warnung für überalterte Posts einfügen

WordPress Theme erweitern und programmieren

WordPress Theme erweitern und programmieren

Mir ging es bei meinem alten Guru-Blog so und auch hier ist es bald einmal soweit. Wenn du nämlich schon längere Zeit bloggst, sammelt sich einiges an Posts und Content an. Natürlich kannst du immer wieder mal mit dem eisernen Besen (besser dem Löschen-Button) durch deinen Blog gehen und alte Posts löschen.

Aber das ist nicht so gut, denn erstens handelst du dir einige 404-Status-Codes ein und außerdem verlierst du Backlinks und Ranking bei den Suchmaschinen. Aber was machen mit den veralteten Posts? Ich habe damals einen Hinweis gebracht, der den LeserInnen zeigte, dass die Inhalte vielleicht nicht mehr richtig und veraltet sind.

Dazu kannst du entweder die functions.php mit einem Child-Theme verwenden oder auch ein eigenes PlugIn erstellen. In beiden Fällen fügst du einfach den folgenden Code ein und schon wird bei allen Beiträgen welche vor 730 Tagen veröffentlicht wurden ein Hinweistext angezeigt.

//ist es ein alter Post
//Veroeffentlichungsdatum ist groesser als
//Tage in $days uebergeben (Standardwert ist 365 Tage)
function tmdn_is_old_post($days = 365) {
  $days = (int) $days;
  $offset = $days*60*60*24;
  if (get_post_time() < date('U') - $offset) {return true;}
  return false;
}
//Warnung fuer allte Beitraege ausgeben
function tmdn_oldpostwarning($content) {    
  if(is_single() && tmdn_is_old_post(730)) {
    $custContent = '<div class="box red">'.
                   '<i class="fas fa-exclamation-circle"></i>" aria-hidden="true"></i> '.
                   '<span class="oldText"><strong>Achtung!</strong> Dieser Beitrag ist älter als zwei Jahre.<br>'.
                   'Die Informationen könnten nicht mehr stimmen und veraltet sein.</div>';
    $custContent .= $content;
  }
  return $custom_content;
}
add_filter( 'the_content', 'tmdn_oldpostwarning');

Den Text für die Warnung kannst du in Zeile #14 und #15 anpassen. Natürlich brauchst du für das i-Element wieder Font-Awesome, welches in dein Theme eingebunden sein muss. Und damit die ganze Nachricht auch hübsch aussieht, musst du sie formatieren. Wie du das mit CSS machst ist sicher kein Problem. Die entsprechenden Klassen siehst du im Quellcode oben und kannst sie in der style.css deines Child-Themes verwenden.

Die mobile Version verlassen