【问题标题】:Shortcode inside a WordPress shortcodeWordPress 简码中的简码
【发布时间】:2015-03-10 23:17:11
【问题描述】:

使用终极简码插件(灯箱简码)和一些自定义样式,我经常在我的网站上创建弹出窗口。我试图通过在自定义短代码中包含短代码和自定义样式来简化用例。

例如,这是我需要输入的代码才能获得所需的效果:

<p style="text-align: left;">[su_lightbox type="inline" src=".123"]Some Name<i class="fa fa-chevron-right float-right"></i>[/su_lightbox]</p>
<div class="123 mfp-hide">
This is the content
</div>

这是我将上述内容转换为简码的尝试:

// Add Shortcode
function person_shortcode( $atts , $content = null ) {

    // Attributes
    extract( shortcode_atts(
        array(
            'name' => 'name',
            'numb' => 'numb',
        ), $atts )
    );

    // Code
return '<p style="text-align: left;">[su_lightbox type="inline" src=".'.$numb'"]'. $name .'<i class="fa fa-chevron-right float-right"></i>[/su_lightbox]</p>
        <div class="'. $numb .' mfp-hide">
        '. $content . '
        </div>';
}
add_shortcode( 'person', 'person_shortcode' );

所以我的问题是我怎样才能使上述工作?

到目前为止,我已经尝试用 Firebug 内部的输出替换 su_lightbox 短代码,但这不起作用。

【问题讨论】:

    标签: php jquery wordpress shortcode


    【解决方案1】:

    您可以在短代码回调返回的字符串上手动调用do_shortcode。像下面这样的东西应该可以工作:

    // Add Shortcode
    function person_shortcode( $atts , $content = null ) {
    
        // Attributes
        extract( shortcode_atts(
            array(
                'name' => 'name',
                'numb' => 'numb',
            ), $atts )
        );
    
        // Code
    return do_shortcode( '<p style="text-align: left;">[su_lightbox type="inline" src=".'.$numb.'"]'. $name .'<i class="fa fa-chevron-right float-right"></i>[/su_lightbox]</p>
            <div class="'. $numb .' mfp-hide">
            '. $content . '
            </div>' );
    }
    add_shortcode( 'person', 'person_shortcode' );
    

    这部分代码也有语法错误:

    src=".'.$numb'"]'
    

    您可能打算这样做:

    src=".'.$numb.'"]'
    

    我已经在上面的示例中修复了这个问题。

    【讨论】:

    • 我添加后整个网站似乎仍然无法正常工作?有什么建议吗?
    • @LukaDadiani 代码中有语法错误,我已经修复了。
    • 谢谢,但是它需要一个点来表示它链接到一个类?例如 [su_lightbox type="inline" src=".class_name"]Alec Broers 勋爵教授 [/su_lightbox]
    猜你喜欢
    • 2011-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多