选项卡内的视频短码短码不起作用

时间:2014-03-01 作者:Erfo

我有“视频”短代码和“标签”短代码。

[video]code youtube[/video]

[tabs]
[tab title="text"][/tab]
[tab title="text"][/tab]
[/tabs]
如果我将视频短代码写入选项卡,“视频”短代码不起作用。。。我如何解决?

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

请确保使用包装内容do_shortcode()

我不确定确切的函数是什么样子的,但为了简单起见,请看一下这个示例:

//[tab]Content[/tab]
function tab_func($atts, $content = null) {
    extract( shortcode_atts( array(
    ), $atts ) );

    $output = \'<div class="tab">\'.do_shortcode($content).\'</div>\';

    return $output;
    }
add_shortcode( \'tab\', \'tab_func\' );
如果你看看这条线

$output = \'<div class="tab">\'.do_shortcode($content).\'</div>\';

您将看到我正在将内容包装在do_shortcode 函数,它将执行WordPress在内容中找到的任何短代码。

所以在你的情况下[tab][video]youtube code[/video][/tab] 现在将在选项卡中执行YouTube代码。

警告:根据我的经验,这只适用于1级深度。如果需要在内容内部执行其他级别的短代码,则需要确保这些短代码函数还包括do_shortcode function. i、 e.:

[tab][video][title]Youtube code[/video][/tab]
在本例中,[title] 不会显示,除非[video] shortcode函数还包括do\\u shortcode。

希望这有帮助。有关更多信息,请查看WordPress文档do_shortcode here.

SO网友:Mrsonord

您需要更改选项卡shortcode的代码以包括:do\\u shortcode($内容);

结束

相关推荐

How do I make a shortcode?

边走边学。。。我已经构建了这个功能,但我需要它作为一个短代码。我该怎么做?$args = array( \'taxonomy\' => \'product_cat\' ); $terms = get_terms(\'product_cat\', $args); $count = count($terms); $i=0; if ($count > 0) { $cape_list = \'<p class=\"my_term-archive\