Entfernen Sie wpautop von allen Posts / Seiten außer meinem benutzerdefinierten Post-Typ

Mein ganzes Thema verwendet remove_filter( 'the_content', 'wpautop' ); was die p Tags und Zeilen streift, bricht vom Ausgang des WYSIWYG ab. Ich habe eine benutzerdefinierte Post-Typ- events , die ich gerne die Auto-P-Tags und Br-Tags für, aber nur auf diesen benutzerdefinierten Post-Typ zurückbringen würde. Gibt es eine Möglichkeit, sicherzustellen, dass der Filter bei events nicht entfernt wird events

Solutions Collecting From Web of "Entfernen Sie wpautop von allen Posts / Seiten außer meinem benutzerdefinierten Post-Typ"

Sie können einen bedingten Test für den aktuellen Post-Typ wie folgt durchführen:

 if ( 'events' != get_post_type() ) { remove_filter( 'the_content', 'wpautop' ); } 

Die Antwort von @Manu wird wahrscheinlich für Sie funktionieren, aber es wird fehlschlagen, wenn Sie eine Abfrage mit Ereignissen und Posts als post_type haben. Oder zwei verschiedene Abfragen auf derselben Seite. Die Lösung besteht darin, zu prüfen, ob jeder Beitrag vom Ereignistyp ist, und den Filter entsprechend hinzuzufügen oder zu entfernen.

 add_action( 'the_post', 'wpse_257708_the_post', 10, 1 ); function wpse_257708_the_post( $post ) { if( 'events' === $post->post_type ) { add_filter( 'the_content', 'wpautop' ); } else { remove_filter( 'the_content', 'wpautop' ); } }