Schnipsel: Leere Absätze in WordPress löschen

WordPress setzt gelegentlich nach und vor Shortcodes leere <p> Tags, um einen „Break“ vorzugauckeln. Um das zu beheben, hilft ein kleiner jQuery Schnipsel, den du am besten auch über ein Plugin hinzufügst. Setze folgenden Code einfach in deine functions.php oder in dein Plugin.

Schnipsel

Hier folgen jetzt verschiedene Lösungsansätze. Zum Schluß findest du auch noch eine mögliche Lösung mithilfe eines WordPress-Plugins.

Lösung 1: WordPress & jQuery

/**
 * Entfernt leere Absätze
 */
function remove_empty_p_tags() { 
  echo '<script>jQuery("p:empty").remove();</script>'; 
} 
add_action( 'wp_footer', 'remove_empty_p_tags' );

Lösung 2: jQuery

(function($) {
  $('p:empty').remove();
})(jQuery);

Lösung 3: CSS

p:empty { display: none; }

Lösung 4: WordPress & PHP

Die oben genannten Schnipsel funktionieren leider nicht immer. Ich habe nach einer Alternative gesucht und bin fündig geworden:

/**
 * Entfernt Absätze die durch Shortcodes eingefügt werden.
 * 
 * @param string $content
 * 
 * @return string
 */
function shortcode_empty_paragraph_fix( $content ) {
	$shortcodes = [
		'shortcode_1', // shortcode 1
		'shortcode_2' // shortcode 2
	];
	
	foreach ( $shortcodes as $shortcode ) :
		$array = [
			'<p>[' . $shortcode    => '[' . $shortcode,
			'<p>[/' . $shortcode   => '[/' . $shortcode,
			$shortcode . ']</p>'   => $shortcode . ']',
			$shortcode . ']<br />' => $shortcode . ']'
		];
		
		$content = strtr( $content, $array );
	endforeach;

	return $content;
}
add_filter( 'the_content', 'shortcode_empty_paragraph_fix' );

Wichtig ist, dass du deine Shortcodes in den Array setzt. Den Schnipsel setzt du dann in deine functions.php oder in dein Plugin. Weitere Informationen, kannst du der Quelle entnehmen:

Klicken Sie auf den unteren Button, um den Inhalt von de.wordpress.org zu laden.

Inhalt laden

Wichtig: Setze benutzerdefinierte Inhalte immer mit einem Plugin ein, damit deine Änderungen in der functions.php nicht von einem Theme-Update überschrieben werden.

https://pixelbart.de

Webentwickler, Ehemann und Hundepapa. Kevin ist leidenschaftlicher Pixel-Stupser, Gamer und Visual Studio Code-Bastler. Als großer Fan der künstlichen Intelligenz schätzt er die Möglichkeiten, die diese bietet.


Bereit? Werde kostenlos beraten!

Alles für deinen Erfolg im Netz, mit und für WordPress-Websites.

Leistungen

© Kevin Pliester 2023. Code steht unter MIT-Lizenz.