Wordpress 创建空 <p> 标签?
Wordpress Creating Empty <p> Tags?
似乎 wordpress 无缘无故地创建了空的 p 标签。我通常通过摆脱所有白色 space 来纠正这个问题 - 因为白色 space 似乎被解释为 "P TAG HERE! PLACE A P TAG HERE".
这是我关注的 Wordpress 仪表板内容:
[block]<p>This is a test</p>[/block]
如您所见,没有白色space。
这是 HTML 同一块 html 的表示。
<div class="block sidebar">
<p>This is a test</p>
<p></p></div>
看到第二个 <p></p>
是无缘无故的吗?
有人可以告诉我为什么会发生这种情况以及我如何(如果有的话)补救这种情况吗?
我也创建了那个短代码 [block]
并且一直在其他页面上使用它没有这个问题。所以它似乎是特定于页面的(因为那是有道理的..不是)。
非常感谢任何帮助。如有必要,我可以向页面提供 link。让我知道。
仪表板的外观:
将此添加到您的 functions.php 即可解决问题
add_filter('the_content', 'shortcode_empty_paragraph_fix');
function shortcode_empty_paragraph_fix($content) {
$array = array(
'<p>[' => '[',
']</p>' => ']',
']<br />' => ']',
']<br>' => ']',
);
$content = strtr($content, $array);
return $content;
}
wordpress之所以尝试格式化代码是因为一个叫wpautop的函数
https://codex.wordpress.org/Function_Reference/wpautop
我从这个帖子中找到了一个解决方案并稍微调整了一下:
Wordpress - empty p tags
add_filter('the_content', 'remove_empty_p', 11);
function remove_empty_p($content){
$content = force_balance_tags($content);
//return preg_replace('#<p>\s*+(<br\s*/*>)?\s*</p>#i', '', $content);
return preg_replace('#<p></p>#i', '', $content);
}
第三个参数11为优先级。对我来说,wpautop 过滤器的优先级为 10,所以我将过滤器设置为 11,这解决了我的问题。
感谢所有试图提供帮助的人!
似乎 wordpress 无缘无故地创建了空的 p 标签。我通常通过摆脱所有白色 space 来纠正这个问题 - 因为白色 space 似乎被解释为 "P TAG HERE! PLACE A P TAG HERE".
这是我关注的 Wordpress 仪表板内容:
[block]<p>This is a test</p>[/block]
如您所见,没有白色space。
这是 HTML 同一块 html 的表示。
<div class="block sidebar">
<p>This is a test</p>
<p></p></div>
看到第二个 <p></p>
是无缘无故的吗?
有人可以告诉我为什么会发生这种情况以及我如何(如果有的话)补救这种情况吗?
我也创建了那个短代码 [block]
并且一直在其他页面上使用它没有这个问题。所以它似乎是特定于页面的(因为那是有道理的..不是)。
非常感谢任何帮助。如有必要,我可以向页面提供 link。让我知道。
仪表板的外观:
将此添加到您的 functions.php 即可解决问题
add_filter('the_content', 'shortcode_empty_paragraph_fix');
function shortcode_empty_paragraph_fix($content) {
$array = array(
'<p>[' => '[',
']</p>' => ']',
']<br />' => ']',
']<br>' => ']',
);
$content = strtr($content, $array);
return $content;
}
wordpress之所以尝试格式化代码是因为一个叫wpautop的函数 https://codex.wordpress.org/Function_Reference/wpautop
我从这个帖子中找到了一个解决方案并稍微调整了一下: Wordpress - empty p tags
add_filter('the_content', 'remove_empty_p', 11);
function remove_empty_p($content){
$content = force_balance_tags($content);
//return preg_replace('#<p>\s*+(<br\s*/*>)?\s*</p>#i', '', $content);
return preg_replace('#<p></p>#i', '', $content);
}
第三个参数11为优先级。对我来说,wpautop 过滤器的优先级为 10,所以我将过滤器设置为 11,这解决了我的问题。
感谢所有试图提供帮助的人!