短码函数-在短码内运行短码后,无法获取任何其他返回内容

时间:2017-02-10 作者:Daniel Kerr

只是想看看是否有人可以帮助我解决在短代码内返回值时遇到的问题。

function youtube_media_shortcode() {


return do_shortcode( \'[x_video_embed no_container="true"]<iframe width="560" height="315" src="\'.get_field(\'youtubeurl\', \'option\').\'" frameborder="0" allowfullscreen></iframe>[/x_video_embed]\' );
return \'<div class="youtube-text">\'.get_field(\'youtubetext\', \'option\').\'</div>\';

}
这段视频的第一部分返回得很好,但似乎没有返回下一行。如果我删除第一行,那么第二行将返回良好状态。我想这与do\\u短码有关,但我不知道是什么!

感谢您的帮助:)

1 个回复
最合适的回答,由SO网友:Tunji 整理而成

您不应该在函数中调用return两次,因为它不受支持,并且只计算第一次返回。

您可以做的是将第一个do\\u短代码分配给一个变量,然后返回与第二个返回相关联的变量。

function youtube_media_shortcode() {

    $shortcode_output = do_shortcode( \'[x_video_embed no_container="true"]<iframe width="560" height="315" src="\'.get_field(\'youtubeurl\', \'option\').\'" frameborder="0" allowfullscreen></iframe>[/x_video_embed]\' );

    return $shortcode_output . \'<div class="youtube-text">\'.get_field(\'youtubetext\', \'option\').\'</div>\';

}

相关推荐

Do not parse shortcode in CPT

我有一个CPT,我不想在它的内容中解析shortcode(使用\\u content()函数)。我可以使用remove\\u filter删除短代码的默认过滤器。但我如何确定我只是为了我想要的CPT而删除过滤器?我有一个在页面中使用的快捷码[我的自定义快捷码]。此短代码使用WP\\U查询和输出CPT帖子。我不想在这篇CPT文章中分析短代码。我是否应该在短代码解析挂钩之前用虚拟内容更改短代码,并在之后替换回来?或者我应该在我的CPT输出之前删除短代码的默认过滤器,然后在我的CPT输出完成后再次添加短代码的默