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

首发时间:2013.05.21 | 34,568 次阅读

我们在 WordPress后台 发表文章的时候,如果你对文字没有设置什么样式,那么WP的编辑器会自动将你的代码格式化,例如:你写输入一行文字,它会自动给你的文字加上<p> </p>标签,有时候这个功能会对我们带来很多麻烦,特别是给某段文字添加样式的时候。所以我们需要特殊手段解决这个问题。这个方法周良也是查阅而来,并非原创哦。

通过使用短代码,可以对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 区域里的代码是不会被自动添加上其他标签的。

38 条评论

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

    1. @mfbuluo 哦,微世界的话,他们给我提供了一台独立服务器,现在在域名备案。我现在的vps是美国的,需要可以联系我代沟。

    1. @mfbuluo 哦,微世界的话,他们给我提供了一台独立服务器,现在在域名备案。我现在的vps是美国的,需要可以联系我代沟。

        1. @逛街啦 我现在是40G一个月。今天晚上博客迁移一下。换到独立VPS上面。一个月500G流量。另外图片我都是用CDN加速的,属于单独付钱,博客流量一个月也就10到20G,VPS肯定够的

        1. @逛街啦 我现在是40G一个月。今天晚上博客迁移一下。换到独立VPS上面。一个月500G流量。另外图片我都是用CDN加速的,属于单独付钱,博客流量一个月也就10到20G,VPS肯定够的