我似乎无法阻止wordpress自动将段落添加到我键入的每一行,包括简码和我输入到视觉作曲家的任何原始HTML。我已经尝试了“ Toggle wpautop”和“ Raw html”插件来尝试对其进行转换,但是它永远无法正常工作。是因为我正在使用视觉作曲家吗?它只是将p标签包裹在几乎所有内容上。
答案 0 :(得分:1)
问题不是Visual Composer引起的,它纯粹是由于autop
上的the_content
筛选器引起的。有几种解决方法,但是恕我直言,内容过滤器是处理它的最佳方法。
如果您方便地编辑functions.php,可以通过添加以下内容来过滤the_content
钩子,以删除strtr
短代码周围的<p>
标签:
add_filter('the_content', 'remove_unneeded_silly_p_tags_from_shortcodes');
function remove_unneeded_silly_p_tags_from_shortcodes($the_content){
$array = array (
'<p>[' => '[', //replace "<p>[" with "["
']</p>' => ']', //replace "]</p>" with "]"
']<br />' => ']' //replace "]<br />" with "]"
);
$the_content = strtr($the_content, $array); //replaces instances of the keys in the array with their values
return $the_content;
}
其他选择(like removing autop from the_content)往往会产生深远的影响,因此我倾向于避免这种情况。您也可以尝试从要添加的特定段落标签中删除页边样式,但是由于自动添加,可能难以定位该特定标签...
答案 1 :(得分:1)
尝试一下,在您的functions.php中
remove_filter( 'the_content', 'wpautop' );
remove_filter( 'the_excerpt', 'wpautop' );
答案 2 :(得分:0)
我修改了@Frits答案。这往往可以修复显示在屏幕底部的令人讨厌的Google Chrome移动版“简化视图”。
add_filter('the_content', 'remove_unneeded_silly_p_tags_from_shortcodes');
function remove_unneeded_silly_p_tags_from_shortcodes($the_content){
$array = array (
'<p>' => '',
'</p>' => '<br /><br />'
);
$the_content = strtr($the_content, $array); //replaces instances of the keys in the array with their values
return $the_content;
}
一个问题,它删除了您添加到段落标签中的所有CSS样式。但是好处是显而易见的:没有Google Chrome Mobile na!