Version Description
- Fix: The "Remove all tags except the following" wasn't excluding tags as expected
- Fix: Call
remove_all_filter()
on thethe_excerpt
hook to improve excerpt rendering - Fix: Only honor the "Only filter
the_content()
when there's no break (<!--more-->) tag in the post content" setting when hooking intothe_content
filter - Improvement: Improve backwards compatibility by reverting back to using
get_the_content()
for the base excerpt text - Improvement: Added the
advanced_excerpt_skip_excerpt_filtering
filter allowing users to skip excerpt filtering on a per excerpt basis
Download this release
Release Info
Developer | FancyThemes |
Plugin | Advanced Excerpt |
Version | 4.2.3 |
Comparing to | |
See all releases |
Code changes from version 4.2.2 to 4.2.3
- advanced-excerpt.php +2 -2
- class/advanced-excerpt.php +36 -25
- functions/functions.php +3 -2
- readme.txt +157 -145
advanced-excerpt.php
CHANGED
@@ -3,12 +3,12 @@
|
|
3 |
Plugin Name: Advanced Excerpt
|
4 |
Plugin URI: http://wordpress.org/plugins/advanced-excerpt/
|
5 |
Description: Control the appearance of WordPress post excerpts
|
6 |
-
Version: 4.2.
|
7 |
Author: Delicious Brains
|
8 |
Author URI: http://deliciousbrains.com/
|
9 |
*/
|
10 |
|
11 |
-
$GLOBALS['advanced_excerpt_version'] = '4.2.
|
12 |
|
13 |
function advanced_excerpt_load_textdomain() {
|
14 |
load_plugin_textdomain( 'advanced-excerpt', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
|
3 |
Plugin Name: Advanced Excerpt
|
4 |
Plugin URI: http://wordpress.org/plugins/advanced-excerpt/
|
5 |
Description: Control the appearance of WordPress post excerpts
|
6 |
+
Version: 4.2.3
|
7 |
Author: Delicious Brains
|
8 |
Author URI: http://deliciousbrains.com/
|
9 |
*/
|
10 |
|
11 |
+
$GLOBALS['advanced_excerpt_version'] = '4.2.3';
|
12 |
|
13 |
function advanced_excerpt_load_textdomain() {
|
14 |
load_plugin_textdomain( 'advanced-excerpt', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
|
class/advanced-excerpt.php
CHANGED
@@ -26,6 +26,7 @@ class Advanced_Excerpt {
|
|
26 |
|
27 |
public $options_basic_tags; // Basic HTML tags (determines which tags are in the checklist by default)
|
28 |
public $options_all_tags; // Almost all HTML tags (extra options)
|
|
|
29 |
|
30 |
function __construct( $plugin_file_path ) {
|
31 |
$this->load_options();
|
@@ -90,11 +91,12 @@ class Advanced_Excerpt {
|
|
90 |
|
91 |
if ( 1 == $this->options['the_excerpt'] ) {
|
92 |
remove_all_filters( 'get_the_excerpt' );
|
93 |
-
|
|
|
94 |
}
|
95 |
|
96 |
if ( 1 == $this->options['the_content'] ) {
|
97 |
-
add_filter( 'the_content', array( $this, '
|
98 |
}
|
99 |
}
|
100 |
|
@@ -203,53 +205,59 @@ class Advanced_Excerpt {
|
|
203 |
return $links;
|
204 |
}
|
205 |
|
206 |
-
function
|
207 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
208 |
extract( wp_parse_args( $this->options, $this->default_options ), EXTR_SKIP );
|
209 |
-
$original_excerpt = $text;
|
210 |
|
211 |
-
|
212 |
-
|
213 |
-
|
|
|
|
|
|
|
|
|
214 |
}
|
215 |
|
216 |
-
//
|
217 |
-
$
|
218 |
-
|
219 |
-
$text = strip_shortcodes( $text );
|
220 |
}
|
221 |
|
222 |
// prevent recursion on 'the_content' hook
|
223 |
$content_has_filter = false;
|
224 |
-
if ( has_filter( 'the_content', array( $this, '
|
225 |
-
remove_filter( 'the_content', array( $this, '
|
226 |
$content_has_filter = true;
|
227 |
}
|
228 |
|
|
|
229 |
$text = apply_filters( 'the_content', $text );
|
230 |
|
231 |
// add our filter back in
|
232 |
if ( $content_has_filter ) {
|
233 |
-
add_filter( 'the_content', array( $this, '
|
234 |
-
}
|
235 |
-
|
236 |
-
if ( $the_content_no_break && false !== strpos( $text, '<!--more-->' ) ) {
|
237 |
-
return $original_excerpt;
|
238 |
}
|
239 |
|
240 |
// From the default wp_trim_excerpt():
|
241 |
// Some kind of precaution against malformed CDATA in RSS feeds I suppose
|
242 |
$text = str_replace( ']]>', ']]>', $text );
|
243 |
|
244 |
-
$original_post_content = $text;
|
245 |
-
|
246 |
-
// Determine allowed tags
|
247 |
if ( empty( $allowed_tags ) ) {
|
248 |
-
$allowed_tags =
|
249 |
}
|
250 |
|
|
|
251 |
if ( ! empty( $exclude_tags ) ) {
|
252 |
-
$allowed_tags = array_diff( $
|
253 |
}
|
254 |
|
255 |
// Strip HTML if $allowed_tags_option is set to 'remove_all_tags_except'
|
@@ -259,14 +267,17 @@ class Advanced_Excerpt {
|
|
259 |
} else {
|
260 |
$tag_string = '';
|
261 |
}
|
|
|
262 |
$text = strip_tags( $text, $tag_string );
|
263 |
}
|
264 |
|
|
|
|
|
265 |
// Create the excerpt
|
266 |
$text = $this->text_excerpt( $text, $length, $length_type, $finish );
|
267 |
|
268 |
// Add the ellipsis or link
|
269 |
-
if ( !apply_filters( 'advanced_excerpt_disable_add_more', false, $
|
270 |
$text = $this->text_add_more( $text, $ellipsis, ( $add_link ) ? $read_more : false );
|
271 |
}
|
272 |
|
26 |
|
27 |
public $options_basic_tags; // Basic HTML tags (determines which tags are in the checklist by default)
|
28 |
public $options_all_tags; // Almost all HTML tags (extra options)
|
29 |
+
public $filter_type; // Determines wether we're filtering the_content or the_excerpt at any given time
|
30 |
|
31 |
function __construct( $plugin_file_path ) {
|
32 |
$this->load_options();
|
91 |
|
92 |
if ( 1 == $this->options['the_excerpt'] ) {
|
93 |
remove_all_filters( 'get_the_excerpt' );
|
94 |
+
remove_all_filters( 'the_excerpt' );
|
95 |
+
add_filter( 'get_the_excerpt', array( $this, 'filter_excerpt' ) );
|
96 |
}
|
97 |
|
98 |
if ( 1 == $this->options['the_content'] ) {
|
99 |
+
add_filter( 'the_content', array( $this, 'filter_content' ) );
|
100 |
}
|
101 |
}
|
102 |
|
205 |
return $links;
|
206 |
}
|
207 |
|
208 |
+
function filter_content( $content ) {
|
209 |
+
$this->filter_type = 'content';
|
210 |
+
return $this->filter( $content );
|
211 |
+
}
|
212 |
+
|
213 |
+
function filter_excerpt( $content ) {
|
214 |
+
$this->filter_type = 'excerpt';
|
215 |
+
return $this->filter( $content );
|
216 |
+
}
|
217 |
+
|
218 |
+
function filter( $content ) {
|
219 |
extract( wp_parse_args( $this->options, $this->default_options ), EXTR_SKIP );
|
|
|
220 |
|
221 |
+
if ( true === apply_filters( 'advanced_excerpt_skip_excerpt_filtering', false ) ) {
|
222 |
+
return $content;
|
223 |
+
}
|
224 |
+
|
225 |
+
global $post;
|
226 |
+
if ( $the_content_no_break && false !== strpos( $post->post_content, '<!--more-->' ) && 'content' == $this->filter_type ) {
|
227 |
+
return $content;
|
228 |
}
|
229 |
|
230 |
+
// Avoid custom excerpts
|
231 |
+
if ( !empty( $content ) && !$no_custom ) {
|
232 |
+
return $content;
|
|
|
233 |
}
|
234 |
|
235 |
// prevent recursion on 'the_content' hook
|
236 |
$content_has_filter = false;
|
237 |
+
if ( has_filter( 'the_content', array( $this, 'filter_content' ) ) ) {
|
238 |
+
remove_filter( 'the_content', array( $this, 'filter_content' ) );
|
239 |
$content_has_filter = true;
|
240 |
}
|
241 |
|
242 |
+
$text = get_the_content( '' );
|
243 |
$text = apply_filters( 'the_content', $text );
|
244 |
|
245 |
// add our filter back in
|
246 |
if ( $content_has_filter ) {
|
247 |
+
add_filter( 'the_content', array( $this, 'filter_content' ) );
|
|
|
|
|
|
|
|
|
248 |
}
|
249 |
|
250 |
// From the default wp_trim_excerpt():
|
251 |
// Some kind of precaution against malformed CDATA in RSS feeds I suppose
|
252 |
$text = str_replace( ']]>', ']]>', $text );
|
253 |
|
|
|
|
|
|
|
254 |
if ( empty( $allowed_tags ) ) {
|
255 |
+
$allowed_tags = array();
|
256 |
}
|
257 |
|
258 |
+
// the $exclude_tags args takes precedence over the $allowed_tags args (only if they're both defined)
|
259 |
if ( ! empty( $exclude_tags ) ) {
|
260 |
+
$allowed_tags = array_diff( $this->options_all_tags, $exclude_tags );
|
261 |
}
|
262 |
|
263 |
// Strip HTML if $allowed_tags_option is set to 'remove_all_tags_except'
|
267 |
} else {
|
268 |
$tag_string = '';
|
269 |
}
|
270 |
+
|
271 |
$text = strip_tags( $text, $tag_string );
|
272 |
}
|
273 |
|
274 |
+
$text_before_trimming = $text;
|
275 |
+
|
276 |
// Create the excerpt
|
277 |
$text = $this->text_excerpt( $text, $length, $length_type, $finish );
|
278 |
|
279 |
// Add the ellipsis or link
|
280 |
+
if ( !apply_filters( 'advanced_excerpt_disable_add_more', false, $text_before_trimming, $this->options ) ) {
|
281 |
$text = $this->text_add_more( $text, $ellipsis, ( $add_link ) ? $read_more : false );
|
282 |
}
|
283 |
|
functions/functions.php
CHANGED
@@ -62,9 +62,10 @@ function the_advanced_excerpt( $args = '', $get = false ) {
|
|
62 |
$advanced_excerpt->options = wp_parse_args( $args, $advanced_excerpt->options );
|
63 |
|
64 |
// Ensure our filter is hooked, regardless of the page type
|
65 |
-
if ( ! has_filter( 'get_the_excerpt', array( $advanced_excerpt, '
|
66 |
remove_all_filters( 'get_the_excerpt' );
|
67 |
-
|
|
|
68 |
}
|
69 |
|
70 |
if ( $get ) {
|
62 |
$advanced_excerpt->options = wp_parse_args( $args, $advanced_excerpt->options );
|
63 |
|
64 |
// Ensure our filter is hooked, regardless of the page type
|
65 |
+
if ( ! has_filter( 'get_the_excerpt', array( $advanced_excerpt, 'filter_excerpt' ) ) ) {
|
66 |
remove_all_filters( 'get_the_excerpt' );
|
67 |
+
remove_all_filters( 'the_excerpt' );
|
68 |
+
add_filter( 'get_the_excerpt', array( $advanced_excerpt, 'filter_excerpt' ) );
|
69 |
}
|
70 |
|
71 |
if ( $get ) {
|
readme.txt
CHANGED
@@ -1,145 +1,157 @@
|
|
1 |
-
=== Advanced Excerpt ===
|
2 |
-
Contributors:
|
3 |
-
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=5VPMGLLK94XJC
|
4 |
-
Tags: excerpt, post, content, formatting
|
5 |
-
Requires at least: 3.2
|
6 |
-
Tested up to:
|
7 |
-
Stable tag: 4.2.
|
8 |
-
License: GPLv3
|
9 |
-
|
10 |
-
Control the appearance of WordPress post excerpts
|
11 |
-
|
12 |
-
== Description ==
|
13 |
-
|
14 |
-
This plugin adds several improvements to WordPress' default way of creating excerpts.
|
15 |
-
|
16 |
-
1. Keeps HTML markup in the excerpt (and you get to choose which tags are included)
|
17 |
-
2. Trims the excerpt to a given length using either character count or word count
|
18 |
-
3. Only the 'real' text is counted (HTML is ignored but kept)
|
19 |
-
4. Customizes the excerpt length and the ellipsis character that are used
|
20 |
-
5. Completes the last word or sentence in an excerpt (no weird cuts)
|
21 |
-
6. Adds a *read-more* link to the text
|
22 |
-
7. Ignores custom excerpts and use the generated one instead
|
23 |
-
8. Theme developers can use `the_advanced_excerpt()` for even more control (see the FAQ)
|
24 |
-
|
25 |
-
Most of the above features are optional and/or can be customized by the user or theme developer.
|
26 |
-
|
27 |
-
Interested in contributing to Advanced Excerpt? Please visit https://github.com/deliciousbrains/wp-advanced-excerpt
|
28 |
-
|
29 |
-
See [our wiki](https://github.com/deliciousbrains/wp-advanced-excerpt/wiki) for additional documentation.
|
30 |
-
|
31 |
-
Banner image credit - [chillihead](https://www.flickr.com/photos/chillihead/)
|
32 |
-
|
33 |
-
Original plugin author - [basvd](http://profiles.wordpress.org/basvd)
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
==
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
* `
|
78 |
-
* `
|
79 |
-
* `
|
80 |
-
* `
|
81 |
-
* `
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
`
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
==
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
*
|
108 |
-
*
|
109 |
-
*
|
110 |
-
|
111 |
-
|
112 |
-
*
|
113 |
-
|
114 |
-
|
115 |
-
*
|
116 |
-
* Fix:
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
*
|
122 |
-
*
|
123 |
-
*
|
124 |
-
*
|
125 |
-
*
|
126 |
-
*
|
127 |
-
|
128 |
-
|
129 |
-
*
|
130 |
-
*
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
*
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
* Feature:
|
142 |
-
* Feature:
|
143 |
-
* Fix:
|
144 |
-
|
145 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
=== Advanced Excerpt ===
|
2 |
+
Contributors: fancythemes
|
3 |
+
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=5VPMGLLK94XJC
|
4 |
+
Tags: post excerpt, excerpt, post, content, formatting
|
5 |
+
Requires at least: 3.2
|
6 |
+
Tested up to: 4.0
|
7 |
+
Stable tag: 4.2.3
|
8 |
+
License: GPLv3
|
9 |
+
|
10 |
+
Control the appearance of WordPress post excerpts
|
11 |
+
|
12 |
+
== Description ==
|
13 |
+
|
14 |
+
This plugin adds several improvements to WordPress' default way of creating excerpts.
|
15 |
+
|
16 |
+
1. Keeps HTML markup in the excerpt (and you get to choose which tags are included)
|
17 |
+
2. Trims the excerpt to a given length using either character count or word count
|
18 |
+
3. Only the 'real' text is counted (HTML is ignored but kept)
|
19 |
+
4. Customizes the excerpt length and the ellipsis character that are used
|
20 |
+
5. Completes the last word or sentence in an excerpt (no weird cuts)
|
21 |
+
6. Adds a *read-more* link to the text
|
22 |
+
7. Ignores custom excerpts and use the generated one instead
|
23 |
+
8. Theme developers can use `the_advanced_excerpt()` for even more control (see the FAQ)
|
24 |
+
|
25 |
+
Most of the above features are optional and/or can be customized by the user or theme developer.
|
26 |
+
|
27 |
+
Interested in contributing to Advanced Excerpt? Please visit https://github.com/deliciousbrains/wp-advanced-excerpt
|
28 |
+
|
29 |
+
See [our wiki](https://github.com/deliciousbrains/wp-advanced-excerpt/wiki) for additional documentation.
|
30 |
+
|
31 |
+
Banner image credit - [chillihead](https://www.flickr.com/photos/chillihead/)
|
32 |
+
|
33 |
+
Original plugin author - [basvd](http://profiles.wordpress.org/basvd)
|
34 |
+
|
35 |
+
**Useful Resources**
|
36 |
+
|
37 |
+
- <a href="https://fancythemes.com/what-is-wordpress/" rel="friend">What is WordPress</a>
|
38 |
+
- <a href="https://fancythemes.com/wordpress-themes" rel="friend">Fee Themes</a> and <a href="https://fancythemes.com/wordpress-plugins/" rel="friend">plugins</a>
|
39 |
+
|
40 |
+
== Installation ==
|
41 |
+
|
42 |
+
1. Use WordPress' built-in installer
|
43 |
+
2. Access the "Excerpt" menu option under Settings
|
44 |
+
|
45 |
+
== Frequently Asked Questions ==
|
46 |
+
|
47 |
+
= What's an excerpt? =
|
48 |
+
|
49 |
+
A short version of a post that is usually displayed wherever the whole post would be too much (eg. search results, news feeds, archives). You can write them yourself, but if you don't, WordPress will make a very basic one instead.
|
50 |
+
|
51 |
+
= Why do I need this plugin? =
|
52 |
+
|
53 |
+
The default excerpt created by WordPress removes all HTML. If your theme uses `the_excerpt()` or `the_content()` to view excerpts, they might look weird because of this (smilies are removed, lists are flattened, etc.) This plugin fixes that and also gives you more control over excerpts.
|
54 |
+
|
55 |
+
= Does it work for WordPress version x.x.x? =
|
56 |
+
|
57 |
+
During development, the plugin is tested with the most recent version(s) of WordPress. It might work on older versions, but it's better to just keep your installation up-to-date.
|
58 |
+
|
59 |
+
= Is this plugin available in my language? / How do I translate this plugin? =
|
60 |
+
|
61 |
+
Advanced Excerpt is internationalization (i18n) friendly. If you'd like to contribute a translation for your language please do so by opening a [pull request](https://github.com/deliciousbrains/wp-advanced-excerpt).
|
62 |
+
|
63 |
+
= Does this plugin support multibyte characters, such as Chinese? =
|
64 |
+
|
65 |
+
Before 4.1, multibyte characters were supported directly by this plugin. This feature has been removed because it added irrelevant code for a 'problem' that isn't actually specific to the plugin.
|
66 |
+
|
67 |
+
If you require multibyte character support on your website, you can [override the default text operations](http://www.php.net/manual/en/mbstring.overload.php) in PHP.
|
68 |
+
|
69 |
+
= Can I manually call the filter in my WP theme or plugin? =
|
70 |
+
|
71 |
+
The plugin automatically hooks on `the_excerpt()` and `the_content()` functions and uses the parameters specified in the options panel.
|
72 |
+
|
73 |
+
If you want to call the filter with different options, you can use `the_advanced_excerpt()` template tag provided by this plugin. This tag accepts [query-string-style parameters](http://codex.wordpress.org/Template_Tags/How_to_Pass_Tag_Parameters#Tags_with_query-string-style_parameters) (theme developers will be familiar with this notation).
|
74 |
+
|
75 |
+
The following parameters can be set:
|
76 |
+
|
77 |
+
* `length`, an integer that determines the length of the excerpt
|
78 |
+
* `length_type`, enumeration, if set to `words` the excerpt length will be in words; if set to `characters` the excerpt length will be in characters
|
79 |
+
* `no_custom`, if set to `1`, an excerpt will be generated even if the post has a custom excerpt; if set to `0`, the custom excerpt will be used
|
80 |
+
* `no_shortcode`, if set to `1`, shortcodes are removed from the excerpt; if set to `0`, shortcodes will be parsed
|
81 |
+
* `finish`, enumeration, if set to `exact` the excerpt will be the exact lenth as defined by the "Excerpt Length" option. If set to `word` the last word in the excerpt will be completed. If set to `sentence` the last sentence in the excerpt will be completed.
|
82 |
+
* `ellipsis`, the string that will substitute the omitted part of the post; if you want to use HTML entities in the string, use `%26` instead of the `&` prefix to avoid breaking the query
|
83 |
+
* `read_more`, the text used in the read-more link
|
84 |
+
* `add_link`, if set to `1`, the read-more link will be appended; if `0`, no link will be added
|
85 |
+
* `allowed_tags`, a comma-separated list of HTML tags that are allowed in the excerpt. Entering `_all` will preserve all tags.
|
86 |
+
* `exclude_tags`, a comma-separated list of HTML tags that must be removed from the excerpt. Using this setting in combination with `allowed_tags` makes no sense
|
87 |
+
|
88 |
+
A custom advanced excerpt call could look like this:
|
89 |
+
|
90 |
+
`the_advanced_excerpt('length=320&length_type=words&no_custom=1&ellipsis=%26hellip;&exclude_tags=img,p,strong');`
|
91 |
+
|
92 |
+
= Does this plugin work outside the Loop? =
|
93 |
+
|
94 |
+
No, this plugin fetches the post from The Loop and there is currently no way to pass a post ID or any custom input to it.
|
95 |
+
However, you can [start The Loop manually](http://codex.wordpress.org/The_Loop#Multiple_Loops) and apply the plugin as usual.
|
96 |
+
|
97 |
+
== Screenshots ==
|
98 |
+
|
99 |
+
1. The options page
|
100 |
+
2. An example of an excerpt generated by the plugin
|
101 |
+
|
102 |
+
== Changelog ==
|
103 |
+
|
104 |
+
= 4.2.3 =
|
105 |
+
* Fix: The "Remove all tags except the following" wasn't excluding tags as expected
|
106 |
+
* Fix: Call `remove_all_filter()` on the `the_excerpt` hook to improve excerpt rendering
|
107 |
+
* Fix: Only honor the "Only filter `the_content()` when there's no break (<!--more-->) tag in the post content" setting when hooking into `the_content` filter
|
108 |
+
* Improvement: Improve backwards compatibility by reverting back to using `get_the_content()` for the base excerpt text
|
109 |
+
* Improvement: Added the `advanced_excerpt_skip_excerpt_filtering` filter allowing users to skip excerpt filtering on a per excerpt basis
|
110 |
+
|
111 |
+
= 4.2.2 =
|
112 |
+
* Fix: The `the_advanced_excerpt()` function was not working on singular page types (pages / posts)
|
113 |
+
|
114 |
+
= 4.2.1 =
|
115 |
+
* Fix: Undefined index errors when using the `the_advanced_excerpt()` function
|
116 |
+
* Fix: Not excluding tags when using the `exclude_tags` argument in the `the_advanced_excerpt()` function
|
117 |
+
|
118 |
+
= 4.2 =
|
119 |
+
* Feature: Toggle excerpt filtering when there's no break (<!--more-->) tag in the post content
|
120 |
+
* Feature: Toggle excerpt filtering for the `the_excerpt()` and `the_content()` functions
|
121 |
+
* Feature: Toggle excerpt filtering on certain page types
|
122 |
+
* Improvement: Added HTML5 tags to the allowed tags list
|
123 |
+
* Improvement: Options are now automatically removed from `wp_options` when the plugin is deleted from the dashboard
|
124 |
+
* Improvement: Added several WordPress filters, allowing developers to extend/modify the default functionality of the plugin
|
125 |
+
* Improvement: Additional strings were made i18n friendly
|
126 |
+
* Improvement: All options are now stored in one row in wp_options rather than one row per option
|
127 |
+
* Improvement: Several UI elements have be reworded and styled differently to improve user experience
|
128 |
+
* Fix: Now works with themes using `the_content()` on archive pages (i.e. WordPress default themes and others)
|
129 |
+
* Fix: Notices/warning were appearing when the options were saved while having a checkbox option unchecked
|
130 |
+
* Fix: The "Read More" link was being incorrectly appended into certain HTML tags, e.g. table tags and list tags
|
131 |
+
|
132 |
+
= 4.1 =
|
133 |
+
* Fix: Template function with custom options works again
|
134 |
+
* Fix: Data before header bug (retro-fixed in 4.0)
|
135 |
+
* Feature: Template function also works with array-style parameters
|
136 |
+
* Removed multibyte support
|
137 |
+
* Removed PHP 4 support (WP 3.2+ users should be fine, others should update)
|
138 |
+
* Better code testing before release!
|
139 |
+
|
140 |
+
= 4.0 =
|
141 |
+
* Feature: Brand new parsing algorithm which should resolve some running time issues
|
142 |
+
* Feature: Options to finish a word or sentence before cutting the excerpt
|
143 |
+
* Fix: A few small bugs
|
144 |
+
|
145 |
+
= 3.1 =
|
146 |
+
|
147 |
+
* Fix: A few bugs with custom and character-based excerpts
|
148 |
+
|
149 |
+
= 3.0 =
|
150 |
+
|
151 |
+
* First major release since 0.2.2 (also removed the `0.` prefix from the version number)
|
152 |
+
* Feature: Shortcodes can be removed from the excerpt
|
153 |
+
* Feature: Virtually any HTML tag may now be stripped
|
154 |
+
* Feature: A read-more link with custom text can be added
|
155 |
+
* Fix: Word-based excerpt speed improved
|
156 |
+
* Fix: Template tag function improved
|
157 |
+
* Fix: Better ellipsis placement
|