You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决WordPress自定义文章类型WYSIWYG字段自动移除<p>标签问题

自定义文章类型下Metabox WYSIWYG字段丢失<p>标签的解决方案

失效原因

你之前添加的remove_filter( 'the_content', 'shortcode_unautop' );仅作用于WordPress默认文章、页面的主内容输出逻辑。Metabox创建的自定义字段默认不会自动挂载the_content过滤器,因此该配置对自定义文章类型的WYSIWYG字段不生效。

解决方案1:输出时主动应用内容过滤器(最通用)

在输出WYSIWYG字段的位置,把原有输出代码替换为以下格式即可复用默认文章的格式化规则,包括自动添加<p>标签、短代码解析等:

echo apply_filters( 'the_content', rwmb_meta( '你的自定义WYSIWYG字段KEY' ) );

替换代码中的字段KEY为你在Metabox后台设置的对应字段的唯一标识即可。如果需要保留你之前关闭短代码自动加p的规则,原有remove_filter代码无需删除。

解决方案2:仅自动添加段落标签(轻量无额外钩子触发)

如果不需要短代码解析、相关插件挂载的内容插入等功能,只需要保留段落格式,可以直接用WordPress原生的段落格式化函数包裹输出:

echo wpautop( rwmb_meta( '你的自定义WYSIWYG字段KEY' ) );

解决方案3:全局适配无需修改输出代码

如果不想逐个修改前端输出代码,可以在主题functions.php文件中添加以下代码,全局给services自定义文章类型的所有WYSIWYG字段自动添加段落格式:

add_filter( 'rwmb_meta', function( $value, $field, $args ) {
    if ( get_post_type() === 'services' && $field['type'] === 'wysiwyg' ) {
        $value = wpautop( $value );
    }
    return $value;
}, 10, 3 );

添加后所有services类型文章的Metabox WYSIWYG字段输出都会自动生成<p>标签,无需修改原有前端输出逻辑。

内容的提问来源于stack exchange,提问作者jmcgrother

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 05:18:03