WordPress lets you display Excerpts, but up until version 2.9 you could not control the
excerpt length. With the following code, you can increase the length from default 55 words to as many words as you like. Open your
functions.php file and add the follwowing codes in there:
02 | function new_excerpt_length( $length ) { |
05 | add_filter( 'excerpt_length' , 'new_excerpt_length' ); |
08 | function new_excerpt_more( $more ) { |
11 | add_filter( 'excerpt_more' , 'new_excerpt_more' ); |
Change the 100 word limit to the count that you desire.
Displays the excerpt of the current post after applying several filters to it including auto-p formatting which turns
double line-breaks into HTML paaphs. It uses
get_the_excerpt() to first generate a
trimmed-down version of the full post conteragrnt should there not be an explicit excerpt for the post.
The trimmed-down version contains a ‘more’ tag at the end which by default is the […] or “hellip” symbol. A user-supplied excerpt is NOT by default given such a symbol. To add it, you must either modify the raw $post->post_excerpt manually in your template before calling the_excerpt(), add a filter for 'get_the_excerpt' with a priority lower than 10, or add a filter for 'wp_trim_excerpt'(comparing the first and second parameter, because a user-supplied excerpt does not get altered in any way by this function).
An auto-generated excerpt will also have all shortcodes and tags removed. It is trimmed down to a word-boundary and the
default length is 55 words. For languages in which words are (or can be) described with single characters (ie. East-Asian languages) the word-boundary is actually the character.
Note: If the current post is an attachment, such as in the attachment.php and image.php template loops, then the attachment caption is displayed. Captions do not include the “[…]” text.
Excerpts provide an alternative to the use of the <!--more--> quicktag. Whereas this more tag requires a post author to manually create a ‘split’ in the post contents, which is then used to generate a “read more” link on index pages, the excerpts require, but do not necessarily demand, a post author to supply a ‘teaser’ for the full post contents.
The
<!--more--> quicktag requires templates to use
the_content() whereas using excerpts requires, and allows, template writers to explicitly choose whether to display full posts (using
the_content()) or excerpts (using
the_excerpt()).
The choice of whether to display a full post or an excerpt can then be based on factors such as the template used, the type of page, the category of the post, etcetera. In other words, with a <!--more--> quicktag the post author decides what happens, whereas the template writer is in control with excerpts. Moreover, although <!--more--> can be used to create a real split using the $stripteaser parameter, it would be hard and complicated to then differentiate based on characteristics, causing this to become a basically site-wide choice.
No comments: