unerwünschte P-Tags im Shortcode, Verzögerung wpautop funktioniert nicht

Wie andere auch, habe ich Probleme mit WP, die unerwünschte p-Tags in meinen Code einfügen. Ich habe einen Shortcode, den ich erstellt habe, der einfach mein Javascript und HTML ausspuckt, wenn ich es benutze. Alles funktioniert gut, außer dass WP jedes in p Tags umschließt. Hinzufügen von vielen Leerzeilen zu unerwünschtem Leerzeichen. Ich habe die Lösung hier versucht: Automatisch hinzugefügt brs und Absätze? umsonst. Hier ist was ich in meiner functions.php Datei habe

<?php remove_filter( 'the_content', 'wpautop' ); add_filter( 'the_content', 'wpautop' , 12); remove_filter( 'the_excerpt', 'wpautop' ); /***************/ /**ShortCodes**/ /**************/ /*** Form to contact Us **/ function contact_us() { return <<<HTML 

Here's the low down on what to do

\n \n \n \n \n \n \n
Contact Us For More Information
HTML; } add_shortcode('contact_us','contact_us');

irgendwelche Ideen? using \ n scheint unerwünschte Br-Tags loszuwerden, die ich bekam, aber jetzt immer noch die p-Tags bekommen. Vielen Dank.

Solutions Collecting From Web of "unerwünschte P-Tags im Shortcode, Verzögerung wpautop funktioniert nicht"

Die einfache Lösung ist, wpautop nichts zu geben, an dem man kauen kann.

 function contact_us() { $str = "

Here's the low down on what to do

"; $str .= ''; $str .= ''; // etc $return $str; }

Ihr generierter Code wird nicht formatiert, aber es gibt keinen Grund dafür. Wir sind längst an den Tagen des statischen HTML vorbei, zumindest bin ich (“Danke” an die Herren von Kobol), wo solche Formatierungen wichtig waren. Nun, alles, was formatiert ist, sind nur unnötige Zeichen, die den Draht hinunterfließen müssen.

Das Neuanordnen der Standard-WP-Filter kann unerwünschte Konsequenzen haben (Ich hatte einige Probleme mit einigen Plugins, die bei Verwendung dieser Methode Formulare über Kurzwahlcodes erzeugten). Was für mich (und viele andere) perfekt funktioniert, ist diese Lösung:

 function wpse104216_shortcode_fix( $content ) { // List all your shortcodes as an array $block = join( '|', array( 'contact_us', 'column', 'button', 'another-shortcode' ) ); $rep = preg_replace( "/(

)?\[($block)(\s[^\]]+)?\](< \/p>|
)?/", '[$2$3]', $content ); $rep = preg_replace( "/(

)?\[\/($block)](< \/p>|
)?/", '[/$2]', $rep ); return $rep; } add_filter( 'the_content', 'wpse104216_shortcode_fix' );