WP或功能添加额外的br标签

时间:2019-08-10 01:18:12

标签: wordpress

我将此函数添加到functions.php中,它使我可以将短代码用于div标签。 [div class =“”] [/ div]当我将其中两个放置在一起或wordpress添加一个额外的br标签时。有什么办法可以防止这种情况?这是功能:

function div_html($atts, $content = null) {

extract( shortcode_atts( array(
    'class' => '',
), $atts ) );

$class = $class ? " class=\"$class\"" : NULL;

return "<div$class>$content</div>";
}
add_shortcode('div', 'div_html');

1 个答案:

答案 0 :(得分:0)

您的简码被放置在通过某些格式过滤器运行的内容中的单独行中(如注释中所确认)。

应用于内容的过滤器之一称为wpautop()。其目的是将内容包装在段落标签中。它会将两个换行符识别为一个新段落。它还用<br />标签替换了单个换行符,因此出现了问题。

最简单的解决方案是删除换行符。将短代码彼此紧邻放置,以避免添加不必要的中断标签。

还有更复杂的选项,例如有条件地删除wpautop过滤器并将其第二个参数$br设置为false来恢复它。

相关问题