Blog

Beiträge, Snippets, Tipps & Tricks
rund um Webdesign, SEO & Co.

WordPress wpautop: Automatische p-Tags deaktivieren

von • Themen: ,
wordpress-logo-orange

Wer sich bereits einmal etwas genauer mit der Formatierung von Artikeln und Seiten in WordPress auseinandergesetzt hat, dem dürfte aufgefallen sein, dass WordPress Absätze mit automatisch eingefügten <p>-Tags realisiert. Das kann unter Umständen jedoch zu Problemen führen und äußerst nervenaufreibend sein. Selbstverständlich lässt sich diese automatische Formatierung aber deaktivieren.

wpautop nennt sich die Funktion, die Doppelzeilenumbrüche automatisch mit einem <p> und </p> umschließt. WordPress setzt diese Funktion in allen Post Types (Artikel, Seiten und Custom Post Types) sowohl im Content als auch in den Anreißertexten ein. Arbeitet man beispielsweise mit einem Shortcode-gesteuerten Grid-System im WYSIWYG-Editor, kann dies unter Umständen schnell zu Problemen führen.

wpautop deaktivieren

Aus diesem Grund lässt sich der Filter wpautop mit nur wenigen Handgriffen für den Content- und Anreißer-Bereich deaktivieren. Die nachstehenden Zeilen müssen dafür lediglich in der functions.php des gegenwärtig verwendeten Themes eingefügt werden, anschließend nimmt WordPress keine automatische Integration des p-Tags mehr vor.

remove_filter( 'the_content', 'wpautop' );
remove_filter( 'the_excerpt', 'wpautop' );

wpautop auf bestimmten Seiten deaktivieren

Möchte man die inhaltliche Formatierung durch das p-Tag nicht missen und benötigt es ausschließlich auf einer bestimmten Seite nicht, sollte das folgende Code-Snippet Abhilfe schaffen. In Zeile 3 muss dazu der Name oder die ID der entsprechenden Seite eingegeben werden.

add_filter('the_content', 'specific_no_wpautop', 9);
function specific_no_wpautop($content) {
    if (is_page('Name der Seite')) {
        remove_filter( 'the_content', 'wpautop' );
        return $content;
    } else {
        return $content;
    }
}

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

» «