web-dev-qa-db-fra.com

WordPress ajoute br entre mon shortcode

J'ai un problème où mon balisage est mal rendu (plus d'espace à cause de <br />) car WordPress ajoute <br /> partout où il y a un saut de ligne.

par exemple.

[x]
  [y]Hello world[/y]
  [y]A test[/y]
[/x]

Dans le gestionnaire de x, le $content ressemble à

<br />
[y]Hello world[/y]
<br />
[y]A test[/y]
<br />

Suis-je supposé supprimer toutes les coupures?

METTRE À JOUR

Je remarque qu'il n'y a pas de rupture de ligne

[x][y]Photoshop[/y][y]Notepad++[/y][/x]

[y]Notepad++[/y] ne sera pas rendu sous forme de shortcode. Je dois avoir un espace comme

[x][y]Photoshop[/y] [y]Notepad++[/y][/x]
                   ^

Isit?

3
JM at Work

avant d’enregistrer votre shortcode, ajoutez le filtre au contenu pour unautop:

add_filter( 'the_content', 'shortcode_unautop' );

Faites cela aussi pour les zones, peut-être un extrait ou un widget, lorsque votre numéro abrégé s'ajoute à ces zones.

1
bueltge

Lorsque vous êtes dans l'éditeur de publication, appuyez sur CTRL + ENTER lorsque vous passez à une nouvelle ligne. Faire cela dit à WordPress de ne pas ajouter de balise <br /> dans votre code.

1
Harley Barnes

Il ne devrait pas y avoir de balises br par défaut! mais si vous en avez dans votre contenu sans même les utiliser, essayez d'ajouter esc_attr ou esc_html avant de renvoyer les variables contenant les valeurs de votre shortcode.

0
Soykot