function my_formatter($content) {
$new_content = '';
$pattern_full = '{(\[raw\].*?\[/raw\])}is';
$pattern_contents = '{\[raw\](.*?)\[/raw\]}is';
$pieces = preg_split($pattern_full, $content, -1, PREG_SPLIT_DELIM_CAPTURE);
foreach ($pieces as $piece) {
if (preg_match($pattern_contents, $piece, $matches)) {
$new_content .= $matches[1];
} else {
$new_content .= wptexturize(wpautop($piece));
}
}
return $new_content;
}
remove_filter('the_content', 'wpautop');
remove_filter('the_content', 'wptexturize');
add_filter('the_content', 'my_formatter', 99);
这将在您的 functions.php 文件中的 PHP 中进行。完成后,您可以在帖子中使用短代码:[raw]未格式化的代码
太棒了!它完美地工作。我只需要能够禁用帖子中的一个小部分(一些 JavaScript)以防止它获得始终有用的“自动”功能,而这个功能就做到了!谢谢。
这不起作用…
大部分情况下有效,但标签有时仍然会自动关闭
这太棒了!我需要在我的短代码中删除格式,只需添加
remove_filter('the_content', 'wpautop');
remove_filter('the_content', 'wptexturize');
搞定了,非常感谢!:)
我一年多来一直在使用这段代码,它非常有用,但现在,当我使用 Visual Composer 插件时,它就变得毫无用处了,因为它会在添加闭合段落标签时造成严重问题,从而破坏布局。我也无法使用前端编辑器。它需要修复,或者干脆不要与 Visual Composer 一起使用。
我找到了简单的代码,伙计,remove_all_shortcodes();
这是合法的,但我们可以更进一步吗?这非常适合修复帖子,只要该帖子始终在文本 (html) 模式下加载和编辑,但如果我在文本模式和可视化编辑器之间切换,html 会完全乱七八糟。我们是否可以将类似的魔法添加到我们的 functions.php 中,以确保在编辑模式之间切换时它能得到相同(或类似)的处理?