Wie kann ich die Zeichenlänge im Auszug begrenzen?
2 Antworten
- Stimmen
-
- 2012-10-30
Fügen Sie diese Zeilenin die Dateifunction.php
einfunction custom_excerpt_length( $length ) { return 20; } add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );
add these lines in function.php file
function custom_excerpt_length( $length ) { return 20; } add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );
-
Diesbegrenzt die Anzahl der Wörter auf 20,nicht auf die Zeichen.This limits the number of words to 20, not the characters.
- 9
- 2016-12-07
- Ionut
-
Warum haben wir hier die Nummer 999 hinzugefügt?Why we have added number 999 here?
- 0
- 2018-04-11
- Navnish Bhardwaj
-
@NavnishBhardwaj 999ist die Prioritätfür den zu ladenden Filter.Weitere Informationenfinden Sie hier. https://developer.wordpress.org/reference/functions/add_filter/@NavnishBhardwaj 999 is the priority for the filter to be loaded. refer here for more details. https://developer.wordpress.org/reference/functions/add_filter/
- 1
- 2018-04-18
- Annapurna
-
- 2012-10-30
Zusätzlich zu dem obengenannten Filter-Hook,der von Deepas Antwortgeliefert wird,gibt es hiereine zusätzliche Funktion,mit der Sie die Verwendung von
the_excerpt
auf zwei Artenerweitern können:Ermöglicht Ihnen ...
Begrenzen Sie den Auszug durch die Anzahl der Zeichen,aber schneiden Sie das letzte Wort NICHT ab. Auf diese Weise können Sieeine maximale Anzahl von Zeichen zurückgeben,aber die vollständigen Wörterbeibehalten. Daher werdennur die Wörter zurückgegeben,diein das angegebene Zahlenlimitpassen,und Sie können die Quelle angeben,aus der 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 kannin allen Themendateienmit jeweils unterschiedlichen Zeichenbeschränkungenmehrfach verwendet werden.
Mit dieser Funktion können Sieeinen Auszug aus
abrufen.-
the_content
the_excerpt
Wenn Siebeispielsweise Beiträge haben,die Textim Feld "Auszug" auf dem Bildschirm "Beitragseditor"enthalten,aber stattdesseneinen Auszug aus dem Inhaltstextfüreinen speziellen Anwendungsfall abrufenmöchten,
get_excerpt(140, 'the_content'); //excerpt is grabbed from get_the_content
Hiermit wird der Funktionmitgeteilt,dass dieersten 140 Zeichen aus
the_content
stammen sollen,unabhängig davon,obein Auszugim Feldthe_excerpt
festgelegtist.get_excerpt(140); //excerpt is grabbed from get_the_excerpt
Hiermit wird der Funktionmitgeteilt,dass dieersten 140 Zeichen aus
the_excerpt
zuerst angezeigt werden sollen. Wenn kein Auszug vorhandenist,wirdthe_content
als Fallback verwendet.Die Funktion kann verbessert werden,umeffizienter zu werden,oder durch die Verwendung von WordPress-Filtern sowohlfür
the_content
als auchfürthe_excerpt
integriert odereinfach so verwendet werden,wieesin Situationen der Fallistist keinegeeignete eingebaute WordPress-API-Alternative.In addition to the above filter hook supplied by Deepa's answer here is one additional function that can help you extend the use of
the_excerpt
in two ways,Allows you to...
Limit the excerpt by number of characters but do NOT truncate the last word. This will allow you to return a maximum number of characters but preserve full words, so only the words that can fit within the specified number limit are returned and allow you to specify the source of where the excerpt will come from.
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 */
This function can be used multiple times through out theme files, each with different character limits specified.
This function has the ability to retrieve an excerpt from either,
the_content
the_excerpt
For example, if you have posts that contain text in the_excerpt box on the post editor screen, but want to pull an excerpt from the_content body instead for a special use case you would instead do;
get_excerpt(140, 'the_content'); //excerpt is grabbed from get_the_content
This tells the function that you want the first 140 characters from
the_content
, regardless of whether an excerpt is set inthe_excerpt
box.get_excerpt(140); //excerpt is grabbed from get_the_excerpt
This tells the function that you want the first 140 characters from
the_excerpt
first and if no excerpt exists,the_content
will be used as a fallback.The function can be improved to be made more efficient and or incorporated with the use of WordPress filters for both
the_content
orthe_excerpt
or simply used as is in situations where there is no suitable, in-built WordPress API alternative.-
Hallo!Vielen Dankfür die Antwort!Ichmöchtefragen,wieesfunktioniert,mit ... anstatt [...] am Ende des Auszugs?Hi! Thanks for all for the answer provided! I would like to ask, how to make it work with ... instead of [...] at the end of excerpt?
- 0
- 2012-11-02
- Jornes
-
Die letzte Zeile,"$excerpt=$excerpt." ... More ";` können Sie verwenden,um Ihre zu definieren"Lesen Siemehr" Link sozusagen.Sie können dort sehen,dasseine Ellipse hinzugefügt wird,aber Sie können hinzufügen,was Siemöchten.The last line, `$excerpt = $excerpt.'... more';` is what you can use to define your "read more" link so to speak. You can see there it adds an ellipsis but you can add whatever you like.
- 0
- 2012-11-02
- Adam
-
@Jornesesist vielleicht 6 Jahre zu spät,aber hierist der HTML-Codefür die Auslassungspunkte `& hellip;`@Jornes it maybe 6 years late, but here is the HTML code for the ellipsis `…`
- 1
- 2018-07-20
- AlbertSamuel
-
@ AlbertSamuel Dankefür die Antwort.:) :)@AlbertSamuel Thank you for the answer. :)
- 1
- 2019-05-10
- Jornes
Ich habeeine Frage,nachdemich diesen Beitraggelesen habe ( Somarkieren Sie die SucheBegriffe ohne Plugin ).Ichmag diese Funktion (Suchbegriff ohne Plugin) sehr,aber die Zeichenlängeist zu lang.Welchen PHP-Code sollteich hinzufügen,um den Auszug zu verkürzen?Würdemichfreuen,wennjemandes vorschlagen kann.Vielen Dank!