it-swarm.com.de

Wie kann ich die Zeichenlänge im Auszug begrenzen?

Mögliches Duplizieren:
Zeichenauszug

Ich habe eine Frage nach dem Lesen dieses Beitrags ( So markieren Sie Suchbegriffe ohne Plugin ). Ich mag diese Funktion (Suchbegriff ohne Plugin) sehr, aber die Zeichenlänge ist zu lang. Welchen PHP-Code sollte ich hinzufügen, um den Auszug kürzer zu machen? Würde mich freuen, wenn jemand es vorschlagen kann. Vielen Dank!

7
Jornes

füge diese Zeilen in die Datei function.php ein

function custom_excerpt_length( $length ) {
        return 20;
    }
    add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );
14
dipali

Zusätzlich zu dem obigen Filter-Hook, den Deepas Antwort hier liefert, gibt es eine zusätzliche Funktion, mit der Sie die Verwendung von the_excerpt auf zwei Arten erweitern können:

Erlaubt dir zu...

Begrenzen Sie den Auszug durch die Anzahl der Zeichen, kürzen Sie jedoch NICHT das letzte Wort. Auf diese Weise können Sie eine maximale Anzahl von Zeichen zurückgeben, aber vollständige Wörter beibehalten. Es werden also nur die Wörter zurückgegeben, die in die angegebene Anzahl passen, und Sie können angeben, aus welcher Quelle der Auszug stammt.

function get_excerpt($limit, $source = null){

    $excerpt = $source == "content" ? get_the_content() : get_the_excerpt();
    $excerpt = preg_replace(" (\[.*?\])",'',$excerpt);
    $excerpt = strip_shortcodes($excerpt);
    $excerpt = strip_tags($excerpt);
    $excerpt = substr($excerpt, 0, $limit);
    $excerpt = substr($excerpt, 0, strripos($excerpt, " "));
    $excerpt = trim(preg_replace( '/\s+/', ' ', $excerpt));
    $excerpt = $excerpt.'... <a href="'.get_permalink($post->ID).'">more</a>';
    return $excerpt;
}

/*
Sample...  Lorem ipsum habitant morbi (26 characters total) 

Returns first three words which is exactly 21 characters including spaces
Example..  echo get_excerpt(21);  
Result...  Lorem ipsum habitant 

Returns same as above, not enough characters in limit to return last Word
Example..  echo get_excerpt(24);    
Result...  Lorem ipsum habitant  

Returns all 26 chars of our content, 30 char limit given, only 26 characters needed. 
Example..  echo get_excerpt(30);    
Result...  Lorem ipsum habitant morbi
*/

Diese Funktion kann mehrmals in allen Themendateien verwendet werden, wobei jeweils unterschiedliche Zeichenbegrenzungen festgelegt sind.

Diese Funktion bietet die Möglichkeit, einen Auszug aus einer der folgenden Funktionen abzurufen:

  • the_content
  • the_excerpt

Beispiel: Wenn Sie Posts haben, die Text im Feld "Auszug" des Post-Editors enthalten, aber stattdessen einen Auszug aus dem Hauptteil "Inhalt" für einen speziellen Anwendungsfall ziehen möchten, würden Sie dies stattdessen tun.

get_excerpt(140, 'content'); //excerpt is grabbed from get_the_content

Dies teilt der Funktion mit, dass die ersten 140 Zeichen von the_content verwendet werden sollen, unabhängig davon, ob im Feld the_excerpt ein Auszug eingestellt ist.

get_excerpt(140); //excerpt is grabbed from get_the_excerpt

Dies teilt der Funktion mit, dass die ersten 140 Zeichen von the_excerpt zuerst verwendet werden sollen, wenn kein Auszug vorhanden ist. the_content wird als Fallback verwendet.

Die Funktion kann durch die Verwendung von WordPress-Filtern für the_content oder the_excerpt verbessert, effizienter gestaltet und/oder integriert werden, oder einfach so verwendet werden, wie es in Situationen ist, in denen es keine geeignete integrierte WordPress-API-Alternative gibt.

19
userabuser