WordPress简码中的简码
Shortcode inside a WordPress shortcode
使用终极短代码插件(灯箱短代码)和一些自定义样式,我经常在我的网站上创建弹出窗口。我试图通过在自定义简码中包含简码和自定义样式来简化用例。
例如,这是我需要输入的代码以获得所需的效果:
<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
短代码,但是这不起作用。
您可以在字符串上手动调用 do_shortcode
您的简码回调 returns。像下面这样的东西应该可以工作:
// 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.'"]'
我已经在上面的示例中解决了这个问题。
使用终极短代码插件(灯箱短代码)和一些自定义样式,我经常在我的网站上创建弹出窗口。我试图通过在自定义简码中包含简码和自定义样式来简化用例。
例如,这是我需要输入的代码以获得所需的效果:
<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
短代码,但是这不起作用。
您可以在字符串上手动调用 do_shortcode
您的简码回调 returns。像下面这样的东西应该可以工作:
// 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.'"]'
我已经在上面的示例中解决了这个问题。