通过短代码禁用 Wordpress 自动格式化

38

我们在 WordPress后台 发表文章的时候,如果你对文字没有设置什么样式,那么WP的编辑器会自动将你的代码格式化,例如:你写输入一行文字,它会自动给你的文字加上

标签,有时候这个功能会对我们带来很多麻烦,特别是给某段文字添加样式的时候。所以我们需要特殊手段解决这个问题。这个方法周良也是查阅而来,并非原创哦。

通过使用短代码,可以对WordPress编辑器自动格式化进行过滤。
在使用主题的 functions.php 里加入下面的代码:

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);

添加这段代码后,我们写发表文章的时候使用 [raw] 需要禁用 Wordpress 自动格式化的内容 [/raw] 这样的短代码形式写代码即可(在编辑器的HTML方式下),这样raw 区域里的代码是不会被自动添加上其他标签的。

如果你有设计或者 WordPress 方面的项目需求,可以和我联系 Email:wwwzhouliang@gmail.com。

作者主页 邮箱 微博 腾讯微博 QQ Twitter Facebook Google+

共 38 条评论

  1. seo 回复

    支持一下~

Leave a Reply

您的邮箱不会公开,当您的评论有新的回复时,会通过您填写的邮箱向您发送评论内容。 Required fields are marked *

返回顶部