Switch language

wpseek.com
A WordPress-centric search engine for devs and theme authors




shortcode_unautop [ WordPress Function ]

shortcode_unautop ( $pee )
Parameters:
  • (string) $pee The content.
Returns:
  • (string) The filtered content.
Defined at:



Don't auto-p wrap shortcodes that stand alone

Ensures that shortcodes are not wrapped in <

>...<

.

Source


<?php
function shortcode_unautop$pee ) {
    global 
$shortcode_tags;

    if ( empty( 
$shortcode_tags ) || !is_array$shortcode_tags ) ) {
        return 
$pee;
    }

    
$tagregexp join'|'array_map'preg_quote'array_keys$shortcode_tags ) ) );

    
$pattern =
          
'/'
        
'<p>'                              // Opening paragraph
        
'\\s*+'                            // Optional leading whitespace
        
'('                                // 1: The shortcode
        
.     '\\['                          // Opening bracket
        
.     "($tagregexp)"                 // 2: Shortcode name
        
.     '\\b'                          // Word boundary
                                             // Unroll the loop: Inside the opening shortcode tag
        
.     '[^\\]\\/]*'                   // Not a closing bracket or forward slash
        
.     '(?:'
        
.         '\\/(?!\\])'               // A forward slash not followed by a closing bracket
        
.         '[^\\]\\/]*'               // Not a closing bracket or forward slash
        
.     ')*?'
        
.     '(?:'
        
.         '\\/\\]'                   // Self closing tag and closing bracket
        
.     '|'
        
.         '\\]'                      // Closing bracket
        
.         '(?:'                      // Unroll the loop: Optionally, anything between the opening and closing shortcode tags
        
.             '[^\\[]*+'             // Not an opening bracket
        
.             '(?:'
        
.                 '\\[(?!\\/\\2\\])' // An opening bracket not followed by the closing shortcode tag
        
.                 '[^\\[]*+'         // Not an opening bracket
        
.             ')*+'
        
.             '\\[\\/\\2\\]'         // Closing shortcode tag
        
.         ')?'
        
.     ')'
        
')'
        
'\\s*+'                            // optional trailing whitespace
        
'<\\/p>'                           // closing paragraph
        
'/s';

    return 
preg_replace$pattern'$1'$pee );
}
?>

Examples [ wp-snippets.com ]

Google Arama Sonuçlarý

Dahasý ...

0 User Note(s)

Henüz yok. Ýlk sen ol!

Yeni Ekle ...



HTML5 Powered with CSS3 / Styling, Performance & Integration, and Semantics