WordPress: Bilder und Shortcodes im Content entfernen

Vor kurzem stand ich bei einem Projekt vor dem Problem, das in den Artikeln mindestens ein Bild oder eine Galerie im Content vorhanden war.

Diese sollten aber auf der Home/Frontpage nicht zusehen sein, da das erste Bild im Content automatisch als Artikelbild gesetzt wurde und dieses dann auf der Home/Frontpage als Thumbnail zusehen war (in der Einzelartikelansicht wurde das Artikelbild nicht genutzt).

Es sollte aber weiterhin the_content() anstatt the_excerpt() auf der Home/Frontpage genutzt werden. Folgende Funktion hat sich in diesem Fall als sehr hilfreich erwiesen:

//Alle Bilder und Shortcodes auf der Frontpage entfernen
function fk_remove_images_shortcodes($content){
  if ( is_front_page() ) {
    $content = strip_shortcodes($content);
    $content = preg_replace('/<img>]+./','', $content);
  }
  return $content;
}
add_filter('the_content', 'fk_remove_images_shortcodes');

Erst wird geprĂŒft ob es sich um die Home/Frontpage handelt, dann werden alle Shortcodes entfernt (z. B. wenn eine Galerie genutzt wird) und schließlich werden alle img Tags mit preg_replace entfernt bzw. ersetzt.

Quelle: php.net, codex.wordpress.org und die Weiten des Internet