Wordpress do_shortcode 循环后的函数实现

Wordpress do_shortcode function implementation after loop

我正在做一个关于 wordpress 主题的项目。 Wordpress 有一个函数调用 do_shortcode 但是当我实现它时,代码不起作用。 $metagallery 的输出是 [Best_Wordpress_Gallery id="1" gal_title="Gallery 1"]

为什么当我使用函数 do_shortcode 回显时它不起作用?

<?php 
$metagallery = get_post_meta($id, '_jdev_custom_meta', true);
?>
<?php if ($metagallery!="") { ?>
<div class="row clearfix galleryarea" >
    <div class="col-md-10 col-md-offset-1 column">
        <div class="row clearfix" >
            <div class="col-md-12 column">
                <div class="gallerycontent">

                        <h2>Gallery</h2>
                        <?php 


                        echo do_shortcode($metagallery); ?>

                    </div>
                </div>
            </div>
        </div>
    </div>
    <?php } ?>

好的。解决了。当我在 html 中查看时,它是:

[Best_Wordpress_Gallery id="1" gal_title="Gallery 1"]

但是在源代码中查看时,它看起来像这样:

[Best_Wordpress_Gallery id=&quot;1&quot; gal_title=&quot;Gallery 1&quot;]

双引号变为特殊字符。因此必须对其进行解码。 通过应用 htmlspecialchars_decode 它解决了问题

<?php echo do_shortcode((htmlspecialchars_decode($metagallery))); ?>