WordPress 禁止自动添加 br 换行符

4 Comments

WordPress 默认会使用 wpautop 将双换行符转换成段落(html 代码添加 p 标签),并且「$br 保留换行符」默认设置为 true,段落转换后剩余的任何换行符都将转换为 HTML <br />。

wpautop 例子

WordPress 官方例子:

<?php
$some_long_text =
'Some long text
that has many lines

and paragraphs in it.';

echo wpautop( $some_long_text );
?>

输出 html 代码如下:

<p>Some long text<br/>
that has many lines</p>
<p>and paragraphs in it.</p>

WordPress 仅禁止自动添加 br 换行符(保留自动添加 p)

以前就折腾过,将下面代码放入主题 functions.php 就可以禁止WordPress 自动添加 br 换行符,副作用是 p 也不会自动添加了。那时候不是刚需,就没有继续折腾。

remove_filter( 'the_content', 'wpautop' );
remove_filter( 'the_excerpt', 'wpautop' );

昨天搬运壁纸,发相册水文,又被自动 br 拦住了,找了下只禁用自动添加 br 的方法,找到一堆都是 p、br 都去掉的。

最终英文关键词找到了解决办法,其实挺简单:先去掉 p 和 br,然后在加回自动 p……将下面代码放入主题 functions.php 就可以禁止 WordPress 自动添加 br 换行符,但是会保留自动添加 p

来源:停止WordPress自动添加<br>标记以发布内容

remove_filter( 'the_content', 'wpautop' );
remove_filter( 'the_excerpt', 'wpautop' );

function wpse_wpautop_nobr( $content ) {
return wpautop( $content, false );
}

add_filter( 'the_content', 'wpse_wpautop_nobr', 12 );
add_filter( 'the_excerpt', 'wpse_wpautop_nobr', 12 );

或者「wpautop - disable <br> tags, keep <p> tags」:

remove_filter( 'the_content', 'wpautop' );
$br = false;
add_filter( 'the_content', function( $content ) use ( $br ) {
return wpautop( $content, $br );
}, 12 );

温馨提示:可能需要根据实际网站 php 环境和 WordPress 版本稍稍修改。

WordPress 技巧:优先执行 Shortcode,移除 Shortcode 中自动添加的 br 和 p 标签

来源:水煮鱼

使用 WordPress Shortcode,可能会遇到个问题:WordPress 会自动在 shortcode 内添加 br 或者 p 标签,这样可能会打乱段代码原先预想的 HTML 结构和布局。

造成这个问题的原因是 WordPress 默认日志内容处理流程中,wpautop(将回车转换成 p 或者 br 标签的函数)是在 Shortcode 前面运行。解决方案也是非常简单,改变它们执行的顺序,在当前主题的 functions.php 文件中添加如下代码:

remove_filter( 'the_content', 'wpautop' );
add_filter( 'the_content', 'wpautop' , 12);

就可以优先执行 Shortcode!

但是这样调整顺序之后,shortcode 里面就不会有自动添加的 p 或者 br 标签,如果 shortcode 中部分内容又需要一些 p 或者 br 标签用来换行,就需要手动在自己 shortcode 处理程序中添加 wpautop 来处理:

function bio_shortcode($atts, $content = null) {
$content = wpautop(trim($content));
return '<div class="bio">' . $content . '</div>';
}
add_shortcode('bio', 'bio_shortcode');

另外,这样处理可能并不完美,还是需要根据实际使用情况修改。

除非注明,垃圾站文章均为网络收集,本文地址 https://cyhour.com/1505/,转载时烦请以链接形式注明原始出处。
声明:我们不销售主机,任何VPS主机均有跑路风险且需定期备份,防止数据丢失。信息以实际为准,评测仅供参考不代表权威!
🍄:Netflix 奈飞 YouTube 合租

又坏了一个双飞燕无线鼠标

买过不少双飞燕鼠标、键盘,自用(家里领导)的也有三个。首先是用了差不多满4年的双飞燕 G10-810F 突然就彻彻底底地挂了,而用了4年多的罗技 M545(M546),左键微动换过2次,鼠标垫脚换过一次,目前还好好的。 不过2014年初买的双飞燕(A4TECH)G9-500F 同步灵高精防尘无线鼠使用不多,目前还能…
浏览: 134 标签:  , 

360浏览器、360极速浏览器不兼容 Let’s Encrypt

老头日常没有使用360浏览器和360极速浏览器,不过身边周围应该不少人使用。昨天一位博友提起,访问「垃圾站」小绿锁会有灰色叹号,第一反应:这是使用360浏览器访问?一问,果然就是360浏览器。 Let's Encrypt 与 360 浏览器 其实老头前阵子在别人电脑上使用360浏览器访问垃圾站找点东西的时候…
浏览: 105 标签:  ,  ,  , 

王守义说对了?iPhone 13 十三香?iPhone 13 (Pro)/ iPad (Mini) 2021 高清壁纸下载

2021年9月8日凌晨,苹果官网更新了最新的特别活动信息,显示北京时间9月15日凌晨1点,将在官网直播线特别活动。十三香要来了? iPhone 13 十三香?北京时间 9 月 15 日凌晨 1 点 Apple 特别活动 根据目前供应链爆料信息,新 iPhone 13 系列依旧拥有四款机型,分别为 iPhone 13/mini、iPhone…
浏览: 142 标签:  ,  ,  ,  ,  ,  , 

斐讯 N1 盒子 ROM / OpenWRT 路由器固件及遥控器收集

拼多多上买了3个斐讯 N1 盒子,加上去年买的一个二手原封,已经有4个盒子。去年买的 N1 只是降级 Webpad 固件当电视盒子了,不过在家里基本上没有时间看电视,实际上使用并不多,几乎是吃灰状态。折腾了一个当旁路由(N1 降级 Webpad 刷小钢炮系统+Docker 安装 OpenWrt 旁路由),还不错。 斐讯 N1…

Comments:4

  1. 不完美。有短代码[]的时候感觉还是会出错。短代码的方括号前后是不能带尖括号p的。

    2020.10.30 09:51 # 回复
    1楼
    • @大致 WP 5.5.2 刚测试了一下,不管有没有禁用 wpautop,<p>[短代码]</p> 都能正常出来,优先级 10 的话会在短代码输出的 html 代码前多一对空 p,优先级改成 12,会在后面多一对空 p。
      ——
      编辑器,代码编辑模式,[短代码] 一行,就不会有一对空 p。

      2020.10.30 11:01 # 回复
      • @老杨 显示正常不正常,要看短代码里有没有div。有div的还要看浏览器。有的浏览器遇到p中间有div的,会自动补一半/p,这样的就没事(你所说的空p就是浏览器给补了一半,仔细看短代码后面还会有一行空p)。但是,不让方括号前后被p包住才是对的。

        2020.11.02 09:20 # 回复
        • @大致 嗯,后来短代码套短代码,中间还有空行,出来就不正常了。

          2020.11.02 20:14 # 回复

发表留言

Vultr 送$100,搬瓦工年付最低$49,优惠码 BWH3HYATVBJW,更多推荐VPS信息