Post-meta 文本编辑器中的 WordPress 短代码未显示前端

WordPress Short-code inside a Post-meta text editor is not showing front end

我正在使用简单的 shortcode 添加行 space 或分隔符。我在我的 post 元字段中添加了此 shortcode,我们可以在其中添加自定义描述,但此 shortcode 未提取到 frontend

这是我编辑器中那个 post 元

的文本
Have you been looking for a better, easier way to enjoy your favorite [linespace gap="30"] Introducing the beautifully simple, versatile and discreet don’t let its size fool you.

其中 [linespace gap="30"]shortcode

这是前端的输出

 Have you been looking for a better, easier way to enjoy your favorite [linespace gap="30"] Introducing the beautifully simple, versatile and discreet don’t let its size fool you.

这是我的简码功能代码

function linespace_gap_shortcode($atts,$content = null){
        $arg_s = shortcode_atts(
            array(
                'gap'=>'30',
            ), $atts, 'linespace' );
            
            //getting the values from shortcode
            $gap    =  $arg_s['gap'];
            ob_start();
    ?>
        <div class="clearfix separator-<?php echo $gap; ?>"></div>

    <?php 
    return ob_get_clean();

    }
    
  add_shortcode('linespace','linespace_gap_shortcode');

在我看来,您需要在模板中围绕元值添加 do_shortcode()

示例:

$my_meta = do_shortcode(get_post_meta( 0, 'meta_key', true ));

注意: 考虑在你的短代码函数中使用 esc_html() 或强制 $gap 为整数以获得更好的安全性。