I am having a problem where my markup is rendered incorrectly (more space because of <br />
) as WordPress adds <br />
everywhere theres a line break
eg.
[x]
[y]Hello world[/y]
[y]A test[/y]
[/x]
In the handler for x
the $content
looks like
<br />
[y]Hello world[/y]
<br />
[y]A test[/y]
<br />
Am I suppose to strip out all the line breaks?
UPDATE
I notice that no line breaks
[x][y]Photoshop[/y][y]Notepad++[/y][/x]
[y]Notepad++[/y]
will not be rendered as a shortcode. I must have a space like
[x][y]Photoshop[/y] [y]Notepad++[/y][/x]
^
Isit?
before you register your shortcode, add the filter to the content for unautop:
Do this also for the areas, maybe excerpt or widget, when your shortcode add to this areas.
When you are in the post editor, press
CTRL + ENTER
when you go to a new line. Doing that tells WordPress not to add a<br />
tag in your code.There shouldn’t be any br tags by default ! but if you are getting any in your content without even using them try adding esc_attr or esc_html before returning the variables that holds the values of your shortcode
The solution is given by this post.
You have to change the priority of the filter which adds line breaks:
I couldn’t get the above solutions to work, so I did a CSS hack to hide the
tags: