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/,转载时烦请以链接形式注明原始出处。
声明:我们不销售主机,选主机需合法使用。任何主机需定期备份,防止数据丢失。信息以实际为准,评测仅供参考不代表权威!
🍄:Netflix 奈飞 YouTube 合租

Windows 11 高清内置壁纸 预览版ISO镜像 泄露下载

微软正计划在下周的一个线上活动中公布其下一个 Windows 主要更新。在这次活动之前,今天在网上泄露了一个 Windows 11 版本。这个泄露的版本确认了新的桌面UI、新的设置体验和更多内容,Windows 11 现在有一个新的默认背景,同时支持浅色和深色主题,现已可以提前下载 Windows 11默认壁纸尝鲜。 Wi…

斐讯 N1 盒子 ROM 固件及遥控器收集

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

斐讯 N1 盒子 webpad V2.2 固件 + Verizon IPRC1000 遥控

据说 T1 遥控很好用,可惜太贵。帖子看到 Verizon 遥控,基本上能用,做工还行,价格也不算贵。买了个回来折腾。 遥控器资料:美国威瑞森蓝牙红外双模遥控器 Verizon FiOS IPTV Bluetooth Remote IPRC1000 博通 BCM20734UA1KFFB3G 方案。 斐讯 N1 盒子 webpad V2.2 固件 + Verizon IPRC1000 遥…
浏览: 65 标签:  ,  ,  , 

iOS/iPadOS 15.0 Beta 1 描述文件 & iOS/iPadOS 15 4K 壁纸下载

细细对比可以发现:苹果在跨设备体验、跨设备协作等层面的努力,与华为前不久的鸿蒙 OS 2.0 异曲同工,迎接万物互联时代到来。这次 WWDC21 和 iOS 15 发布,褒贬不一,有 iOS 15 巨量更新,有 iOS 15 = iOS 14.8…… iOS/iPadOS 15.0 Beta 1 描述文件 下载尝鲜 iOS 15 支持设备:iPhone 12、iPhon…
浏览: 131 标签:  ,  ,  ,  , 

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信息