[wp-trac] [WordPress Trac] #29608: wptexturize messes up shortcode with parameter meta_compare=">="
WordPress Trac
noreply at wordpress.org
Tue Sep 9 21:15:41 UTC 2014
#29608: wptexturize messes up shortcode with parameter meta_compare=">="
--------------------------+-----------------------------
Reporter: bobbingwide | Owner:
Type: defect (bug) | Status: new
Priority: normal | Milestone: Awaiting Review
Component: Formatting | Version: 4.0
Severity: normal | Keywords:
Focuses: |
--------------------------+-----------------------------
This is a direct follow on to #28564.
I have a number of shortcodes where I pass args to get_posts() almost
directly from the shortcode.
In one particular example I use meta_compare="<" to display posts which
are earlier than a certain date.
In another I use meta_compare=">=" to show posts on or greater than the
date.
In WordPress 4.0 the ">=" meta_compare has stopped working.
'''Expected result:''' WordPress 3.9.1
[shortcode meta_compare=">=" ]
will end up passing a meta_compare value of >= to get_posts(). i.e.
[meta_compare] = >=
'''Unexpected result:''' WordPress 4.0
the array field value passed to get_posts() becomes
[meta_compare] => ’>=’
This problem is caused by wptexturize(), which converts a double quote to
” or a single quote to ’
Pragmatic workaround:
{{{
remove_filter( "the_content", "wptexturize" );
}}}
Alternatively, I could introduce a specific test on the meta_compare
parameter value and strip unexpected entities.
I may have to do this anyway since I've seen a situation where the visual
editor has converted > to > which has caused a similar failure.
--
Ticket URL: <https://core.trac.wordpress.org/ticket/29608>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list