如何:简单嵌套短代码

时间:2013-02-14 作者:Androliyah

我试图在“用户登录”的短代码中封装一个短代码。以下是两个短代码和我在WYSIWYG中的设置

function wpfc_logged_in( $atts, $content = null ) {
    if (is_user_logged_in() )
      {
        return do_shortcode($content);
      }
}

add_shortcode(\'loggedin\', \'wpfc_logged_in\');


function info_box( $atts, $content = null  ) {
        extract( shortcode_atts( array(
        \'type\' => \'tip\',
        \'icon\' => \'\'
    ), $atts ) );  
    $return = \'<div id="info-box"><div class="info-box \'.$type.\'"><p>\'.$content.\'</p><a href="#" class="info-close-icon"></a></div></div>\';
    return $return; 
}
add_shortcode(\'info_box\', \'info_box\');
所见即所得:

[loggedin]
[ info_box type=\'setting\' ]content text[ /info_box]
[/loggedin]

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

看起来您的短代码中有额外的空格。

尝试

[loggedin]
[info_box type=\'setting\']content text[/info_box]
[/loggedin]
而不是

[loggedin]
[ info_box type=\'setting\' ]content text[ /info_box]
[/loggedin]

结束

相关推荐

Use AJAX in shortcode

我有以下代码来显示随机引用的快捷码。问题:如何使按钮显示新的随机报价?我的意思是,这会点击按钮并显示一个新的报价(当然不会刷新页面)。function random_quote() { // quotes file $array = file(\"/path to txt file\"); // generate a random number between 0 and the total count of $array minus