die vielen Möglichkeiten von the_excerpt – die Artikel Kurzfassung von WordPress

the_excerpt individuell gestalten und nutzen
Kurzfassungen verführen the_excerpt in WordPress selbst schreiben

Update 2013 the_excerpt außerhalb des Loops nutzen komplett neu erklärt und gemacht.
Und auch wie Du einen Textzusammenfassung in TwentyTwelve einfügen kannst.

Möchtest Du auf beim Klick auf die Kategorie oder vor jedem Artikel nur eine Kurzfassung des Artikels präsentieren, dann brauchst Du the_excerpt. Selbstverständlich kann man diesen automatisch erstellen lassen, doch wesentlich besser ist es diesen selbst zu schreiben, weil Du damit eher Deine Leser ansprechen kannst.

Als erster erkläre ich wie man so eine Kurzfassung auch für statische Seiten in WP nutzbar machen kann,
dananch wo man das Schreibfeld dafür findet, wie man ihn richtig schreibt, wo er überall erscheint, biete Code Beispiele und ganz am Schluss einige hilfreiche Links, solltest Du noch mehr aus the_excerpt herausholen wollen.

the_excerpt für statische Seiten nutzbar machen

Es gibt einige Plugins, die Dir die Funktion des Auszugs (=Kurzfassung) in das Schreibpanel für statische Seiten holen.
Doch dies geht ganz einfach in der functions.php des verwendeten Themes.

Öffne diese mit einem Texteditor und tippe dort wo Du es wiederfindest folgendes hinein:

//Auszug oder Kurzfassung fuer statische Seiten the excerpt
add_action( 'init', 'my_add_excerpts_to_pages' );
function my_add_excerpts_to_pages() {
     add_post_type_support( 'page', 'excerpt' );
}

the_excerpt selbst schreiben

Schreibst Du einen Artikel dann kannst Du Dir unter dem Schreibfeld das Schreibfeld für die Kurzfassung anzeigen lassen. Wie das geht erklärte ich hier: versteckte Optionen in WP finden. Sowohl bei Artikeln wie bei Seiten musst Du den Auszug spätestens ab WP 3.2.1 selbst aktivieren.

the_excerpt die Kurzfassung richtig schreiben

Schreibe maximal 1-2 kurze Sätze, die kurz und knackig den Inhalt des Artikels präsentieren.

Legst Du Wert darauf, dass man Deinen Blog bei den Suchergebnissen von Google anklickt, dann bedenke dies beim Schreiben ;)

Zu 90% nimmt Google nämlich diese meta description für die Snippets in den Suchergebnissen.

the_excerpt als meta description nutzen – Google Snippet

Viele der hilfreichen SEO Plugins nutzen the_excerpt, um damit die meta description im html-header zu erzeugen. Manche SEO bestehen darauf, dass diese meta description nur eine ganz bestimmte Zeichenlänge haben darf.

Dies ist zwar ein wenig Offtopic, doch ich sag immer:“achte darauf kurz und knackig zu sein und überleg Dir worauf Du klicken tätst.“ Zeichenzählerei muss nicht wirklich sein.

Nutzt Du kein SEO Plugin- so wie ich – kannst Du dies selbst machen.

Dafür musst Du the_excerpt außerhalb des Loops nutzen und das ist nicht mehr ganz so einfach.

Du brauchst dafür die header.php und die functions.php des verwendeten Themes oder Du machst dir ein eigenes Plugin aus folgendem Code.

Ich habe lange gesucht und bis dato keine verläßliche andere Lösung gefunden. Die nachfolgende Funktion erzeugt einen Auszug und zeigt ihm außerhalb des Loops an auch wenn du keinen benutzerdefinierten Auszug selbst geschrieben hast.
Hast Du aber beim Beitrag schreiben einen Auszug geschrieben nimmt sie diesen.

//the excerpt ausserhalb des loops

function mtsoutsideloop_the_excerpt($id=false) {
global $post;

$meine_post = $post;
if ($id != $post->ID) {
   $post = get_page($id);
  }

if (!$excerpt = trim($post->post_excerpt)) {
  $excerpt = $post->post_content;
  $excerpt = strip_shortcodes( $excerpt );
  $excerpt = apply_filters('the_content', $excerpt);
  $excerpt = str_replace(']]>', ']]>', $excerpt);
  $excerpt = strip_tags($excerpt);
  $excerpt_length = apply_filters('excerpt_length', 25);
  $excerpt_more = apply_filters('excerpt_more', ' ' . '[...]');
$words = preg_split("/[\n\r\t ]+/", $excerpt, $excerpt_length + 1, PREG_SPLIT_NO_EMPTY);
   if ( count($words) > $excerpt_length ) {
     array_pop($words);
       $excerpt = implode(' ', $words);
       $excerpt = $excerpt . $excerpt_more;
      } else {
         $excerpt = implode(' ', $words);
         }
          }
$post = $meine_post;
return $excerpt;
 }

In der header.php des verwendeten Themes nutzt Du diese Funktion dann so:



<?php if (is_single()||is_page()): ?>
<meta name="description" content=" <?php echo mtsoutsideloop_the_excerpt();?>" />
<?php endif; ?>


Hier werden html Tags im Excerpt nicht angezeigt.

Präsentier eine Inhaltsangabe zum Artikel

Hier auf der Texto.de siehst Du vor jedem Artikel eine kurze Inhaltsangabe.
Auch dafür nutze ich the_excerpt.

WordPress Themes sind meist sehr eigen, daher ist es schwer hier eine sehr genaue Anleitung zu geben.

Für TwentyTen findest Du dies in der loop-single.php, hier am besten unterhalb dessen:

<div class="entry-meta">
<?php twentyten_posted_on(); ?>
</div><!-- .entry-meta -->

Das sieht dann so aus:

<div class="entry-meta">
<?php twentyten_posted_on(); ?>
</div><!-- .entry-meta -->
<div class="entry-summary">
<?php the_excerpt();?>
</div>

In Twenty Eleven wäre dies die content-single.php und für statische Seiten die content-page.php.

<?php if ( 'post' == get_post_type() ) : ?>
<div class="entry-meta">
<?php twentyeleven_posted_on(); ?>
</div><!-- .entry-meta -->
<?php endif; ?>
</header>

Entweder noch vor „endif /header oder gleich darunter. Du kannst denselben Code nehmen wie für TwentyTen.

In TwentyTwelve kannst du diesen Excerpt in der content.php einfügen

Du findest da

<?php if ( is_single() ) : ?>
<h1 class="entry-title"><?php the_title(); ?></h1>

Hier kannst Du the_excerpt so einfügen:

<?php if ( is_single() ) : ?>
<h1 class="entry-title"><?php the_title(); ?></h1>
<div class="entry-summary">
<?php the_excerpt();?>
</div>

Für statische Seiten findest Du die Möglichkeit bei TwentyTwelve in der content-page.php.

Weitere the_excerpt INFOs und Spielereien findest Du hier:

Gerne nehm ich weitere Beispiele auf, einfach erzählen :-) .

Artikelhistorie:
Erstveröffentlichung: 22. August 2011

war es hilfreich freu ich mich übers Weitersagen via Twitter oder G+ oder… :-)
24

24 Beiträge zu “die vielen Möglichkeiten von the_excerpt – die Artikel Kurzfassung von WordPress

  1. Kommentar Autor
    Manu
    Kommentar

    Wirklich hilf- und aufschlussreich. Funktioniert das Custom Feld eigentlich auch zuverlässig bei einem Custom Theme, wo ich die exerpts normalerweise durch den more-tag erzeuge? Oder sind dir da auf die Dauer Konflikte bekannt?

  2. Kommentar Autor
    Alesandra
    Kommentar

    Auch wieder ein sehr interessanter Artikel, schade das man ihre Arbeit scheinbar nicht mehr in Anspruch nehmen kann.

    MfG
    Alesandra

  3. Kommentar Autor
    Monika
    Kommentar

    Alesandra-selbstverständlich kann man mein Können buchen/mieten/

    lg

  4. Kommentar Autor
    Monika
    Kommentar

    Hi Manu

    die Anzeige mit dem more tag und das oben beschriebene custom field sind 2 Sachen

    hier auf der Startseite nutz ich -more-
    sonst nutz ich the excerpt,
    einfach, weil ich bei einem individuellen -more- auch Bilder anzeigen kann und die Länge wesentlich beeinflussen kann.

  5. Kommentar Autor
    Alesandra
    Kommentar

    @ texto ich habe Ihnen diesbezüglich eine Email am 19.08.2011 geschrieben und leider mittlerweile nicht mal eine Absage erhalten.

    Da es aber sein kann, dass Sie auf die Email gar nicht aufmerksam geworden sind – dem lieben Spam zuliebe – dachte ich mir, frage ich auf diese Weise nochmal an.

    MFG
    Alesandra

  6. Kommentar Autor
    Monika
    Kommentar

    Alesandra die Antwort ist unterwegs,
    da war bloß ein WOE dazwischen,
    ein bisschen viel Arbeit und sehr viele andere Emails vorher,

    und wenns passt: ich bin die Monika :-)

  7. Ping Kurzfassung the_excerpt auch bei Wordpress-Seiten aktivieren | EGM Weblog

  8. Kommentar Autor
    Ute
    Kommentar

    Hey, weißt du auch, wie man den Link, auf den man klicken muss, um vom Auszug zum Artikel in voller Länge zu kommen, formatieren kann? Ich nutze das Theme Bueno und bei mir muss man auf die Artikelüberschrift klicken, um zum vollen Artikel zu kommen. Ich hätte aber gerne, dass man auf die angezeigte eckige Klammer wie hier [ . . . ] klicken muss, um zum Artikel zu kommen. Weißt du, wo im Code das festgelegt werden kann?

  9. Kommentar Autor
    Monika
    Kommentar

    Hi Ute
    ich kenne das Theme nicht, es gibt einfach zuviele Themes und ich teste lieber Plugins denn alle möglichen Themes, weil ich die ja selbst mache.

    das da in die functions.php
    dorthin wo du es wiederfindest

     //excerpt mit link
    
    function excerpt_ellipse($text) {
       return str_replace('[...]', ' <a href="'.get_permalink().'">[...]</a>', $text);
    }
    add_filter('get_the_excerpt', 'excerpt_ellipse'); 

    und Du hast deine 3Punkte verlinkt ;)
    zumindest in den StandardThemes geht das sicher

    aber wenn Du dann the_excerpt als meta descriptions verwendest ist dort auch der Link mit drin

    lg

  10. Kommentar Autor
    Ute
    Kommentar

    Hallo Monika,
    vielen Dank für die schnelle Antwort. Leider hat die von dir vorgeschlagene Lösung nicht geklappt, das liegt einfach an meinem Theme. Denn ich weiß auch nicht, an welcher Stelle im Code steht, dass diese Klammer überhaupt ausgegeben werden soll. Das sind so typische Sachen, da bereue ich, irgendein Theme-Framework genommen zu haben, wo man die Dinge selbst einfach nicht gut nachvollziehen kann.
    Ich merke mir deine Lösung aber mal vor für den Fall, dass ich bald ein anderes, leicht nachvollziehbares Theme haben sollte.
    Viele Grüße,
    Ute

  11. Kommentar Autor
    Monika
    Kommentar

    tut mir für dich leid Ute,
    ich schrieb einfach den Code in die functions.php des verwendeten Themes und schon war der Link bei den 3 Punkten da.

    Vermutlich filtern dein Theme the_excerpt bereits irgendwie anders ..

    Und ja so framework Themes sind auf den 1.Blick super, kaum mag man aber daran was ändern wirds für den PHP Laien ne Irrfahrt.

  12. Kommentar Autor
    Frank
    Kommentar

    Hallo Monika, hab deinen Vorschlag bei Twenty Eleven umgesetzt, weil ich dort keinen Ansatz zum Excerpt gefunden habe. Nur in der functions war ein the_content, aber leider nicht klar, was geschieht, wenn ich den ändern. Hab deine Zeilen ergänzt, leider ohne Auswirkung.

  13. Kommentar Autor
    Frank
    Kommentar

    Ah, habs gefunden. In der content.php steckt jetzt der Teil von the_content, der durch the_excerpt ersetzt werden muss. Hat sich damit erledigt :)

  14. Kommentar Autor
    Monika
    Kommentar

    hi Frank :-) Hautpsach, du fandst es und ich bin mir sicher manch anderer sucht auch danach.

  15. Kommentar Autor
    Christoph
    Kommentar

    Ich war grade auf der Suche, wie man die meta-description für jede Seite individuell machen kann und bin dabei via Google auf diese Seite gekommen. Sehr aufschlussreich und der Code-Schnipsel mit get_the_exerpt war genau das richtige. Vielen Dank dafür! Ich war schon kurz davor, deswegen ein großes Plugin zu installieren, aber mit diesem kurzen Code geht das doch viel eleganter von der Hand. Danke!

  16. Ping Anzahl der Zeichen im Excerpt anzeigen – für perfekte Google Descriptions | kulturbanause blog

  17. Ping WordPress Startseite – Auszüge mit the_excerpt anzeigen – 3 Leseempfehlungen - Majeres.de

  18. Kommentar Autor
    Tobias
    Kommentar

    Hallo Monika,

    leider funktioniert der Code bei meiner functions.php im twentytwelve theme nicht. Hat sich seit der Artikelveröffentlichung irgendwas geändert?

  19. Kommentar Autor
    Monika
    Kommentar

    ach tut mir leid, frau sollte nicht schnell sondern richtig antworten

    :( sorry ich geh der Sache nach :-) bin zu doof offenbar noch im Kopf ;)

  20. Kommentar Autor
    Monika
    Kommentar

    Tobias ich schaffte es und nun steht der neue Code für den Excerpt außerhalb des Loops bereit, tut mir leid, dass du da ein wenig warten musstest :-)

  21. Kommentar Autor
    Walter
    Kommentar

    Ich möchte hier einfach nur mal loswerden, was für eine beeindruckend gelungene Seite dies doch ist. Du hast es geschafft, der kalten Programmierwelt ein faszinierendes Antlitz zu geben. Mein Respekt und die allerhöchste Hochachtung.

    Schöne Grüße

  22. Kommentar Autor
    Monika
    Kommentar

    recht herzlichen Dank Walter für dieses so nette Feedback :-) ja es freut einfach
    und ich hoff, dass Du auch hier das findest was du suchst …

  23. Ping the_excerpt ohne Anführungszeichen und Shortcodes | Texto.de - Mein WordPress Magazin