Schnipsel: Leere p Tags 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

Lösung 1: WordPress & jQuery

// Remove empty p tags 
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:

function shortcode_empty_paragraph_fix( $content ) { 

  // definiere hier deine eigenen shortcodes 
  $shortcodes = array( 'your_shortcode_1', 'your_shortcode_2' ); 

  foreach ( $shortcodes as $shortcode ) { 
    $array = array ( 
      '<p>[' . $shortcode => '[' .$shortcode, 
      '<p>[/' . $shortcode => '[/' .$shortcode,
      $shortcode . ']</p>' => $shortcode . ']', 
      $shortcode . ']<br />' => $shortcode . ']' 
    ); 
    $content = strtr( $content, $array );
  }
  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: Shortcode Empty Paragraph Fix Plugin

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

Letzte Aktualisierung: 02.05.2018

Hat dir der Beitrag gefallen?
Ja
Nein

Veröffentlicht von Kevin Pliester

Kevin ist PHP- und WordPress-Entwickler. Gelegentlich teilt er auch Tipps zum Thema Selbstständigkeit. Er ist seit 2015 glücklich verheiratet, lebt in Dormagen und arbeitet immer von Zuhause aus. Kevin telefoniert nicht gerne und bevorzugt die Kommunikation via E-Mail oder Chat.

Schreibe einen Kommentar

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