WordPress在我的快捷码之间添加了br

时间:2011-04-18 作者:JM at Work

我的标记呈现不正确时遇到问题(由于<br />) 正如WordPress添加的<br /> 到处都有断线

例如:。

[x]
  [y]Hello world[/y]
  [y]A test[/y]
[/x]
在的处理程序中x 这个$content 看起来像

<br />
[y]Hello world[/y]
<br />
[y]A test[/y]
<br />
我要把所有的换行符都去掉吗?

UPDATE

我注意到没有换行符

[x][y]Photoshop[/y][y]Notepad++[/y][/x]
[y]Notepad++[/y] 不会呈现为短代码。我必须有一个

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

5 个回复
最合适的回答,由SO网友:bueltge 整理而成

在注册快捷码之前,请将筛选器添加到unautop的内容中:

add_filter( \'the_content\', \'shortcode_unautop\' );
当您的短代码添加到此区域时,也可以对这些区域执行此操作,可能是摘录或小部件。

SO网友:Harley Barnes

在post editor中,按CTRL + ENTER 当你走到一条新的路线时。这样做会告诉WordPress不要添加<br /> 标记代码。

SO网友:Soykot

默认情况下不应该有任何br标记!但是,如果您在内容中没有使用任何内容,请尝试添加esc\\u attr或esc\\u html,然后再返回保存短代码值的变量

SO网友:Basj

解决方案如下所示this post.

必须更改添加换行符的过滤器的优先级:

remove_filter(\'the_content\', \'wpautop\');
add_filter(\'the_content\', \'wpautop\', 100);

SO网友:patrickcee

我无法使用上述解决方案,因此我进行了CSS破解以隐藏标签:

.my-custom-shortcode br {
    display: none;
}

结束