Make WordPress Core

Changeset 33566


Ignore:
Timestamp:
08/04/2015 07:17:40 AM (8 years ago)
Author:
dd32
Message:

Fix do_shortcode('<[shortcode]') edge case.
Props miqrogroove.

Merges [33499] to the 3.9 branch.
See #33116.

Location:
branches/3.9
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/3.9

  • branches/3.9/src/wp-includes/shortcodes.php

    r33523 r33566  
    356356        $attributes = wp_kses_attr_parse( $element );
    357357        if ( false === $attributes ) {
     358            // Some plugins are doing things like [name] <[email]>.
     359            if ( 1 === preg_match( '%^<\s*\[\[?[^\[\]]+\]%', $element ) ) {
     360                $element = preg_replace_callback( "/$pattern/s", 'do_shortcode_tag', $element );
     361            }
     362
    358363            // Looks like we found some crazy unfiltered HTML.  Skipping it for sanity.
    359364            $element = strtr( $element, $trans );
  • branches/3.9/tests/phpunit/tests/shortcode.php

    r33386 r33566  
    406406            ),
    407407            array(
     408                '<[[gallery]]>',
     409                '<[gallery]>',
     410            ),
     411            array(
     412                '<div style="background:url([[gallery]])">',
     413                '<div style="background:url([[gallery]])">',
     414            ),
     415            array(
    408416                '[gallery]<div>Hello</div>[/gallery]',
    409417                '',
     
    444452            ),
    445453            array(
     454                '<[[gallery]]>',
     455                '<[[gallery]]>',
     456            ),
     457            array(
    446458                '[gallery]<div>Hello</div>[/gallery]',
    447459                '',
Note: See TracChangeset for help on using the changeset viewer.