短代码未在正确位置显示$内容

时间:2012-02-29 作者:Osu

我在别处问过这个问题,但我的答案还不太清楚,所以我想在这里试试,因为这是Wordpress特有的。我有一个短代码:

function reytab($atts, $content = null) {
    extract(shortcode_atts(array(\'title\' => \'#\'), $atts));
    return \'<div class="tab">\'.
        \'<h2 class="reytab">\'.
            $title.
        \'</h2>\'.
        \'<div class="tab-content">\'.
            do_shortcode($content).
        \'</div>\'.
    \'</div><!-- End div.tab -->\';
}
add_shortcode(\'reytab\', \'reytab\');
我在Wordpress的wysiwyg编辑器中这样称呼它:

Shortcode in wysiwyg editor

这是从我的短代码生成的标记,您可以看到$content 正在.tab-content div:

<div class="tab">
    <h2 class="reytab">Title</h2>
    <div class="tab-content"></div>
</div>
...content appears here...[\\reytab]
你可以看到[/reytab] 正在作为$content, 因此,我假设我的问题与短代码、与插件的冲突(不是因为我已经停用了所有插件来测试)或我的主题中的冲突(我也假设不是因为我在TwentyEleven中尝试过这一点-虽然我使用的是依赖TwentyEleven的子主题,但我猜这仍然可能是冲突)有关。

有人能给我一些建议吗?我真的不知道我能查到什么。

谢谢

Osu

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

您的代码很好,问题在于您的短代码。如果你看看第200行/wp-includes/shortcodes.php, 你只能看到/ 关闭标记支持,而不是\\. 如果你改变[\\reytab][/reytab] 它会起作用的!

结束

相关推荐

Shortcodes not working

我有WordPress 3.2.1 我已经创建了一个个人短代码,在我更改Permalink Settings 从…起Default 到Custom Structure.短代码会永久停止工作,而我会返回到Default 背景你好,我今年[生日=“1975-03-25”]岁。我添加了add_shortcode 在我的主题中的函数functions.php.如果我添加新shortcode 到原始WordPress主题Twenty Eleven 在functions.php 文件,工作正常!我的职能。php文件: