好的,因此您可以将短代码添加到 WP 模板文件中,例如:
<?php echo do_shortcode('[my_awesome_shortcode]'); ?>
但是,如果短代码旨在环绕这样的内容怎么办:
[my_awesome_shortcode]
Hey, this is the content within the awesome shortcode.
[/my_awesome_shortcode]
我有点不确定如何将其放入模板文件中。
对我有用的解决方案是将短代码组合成一个字符串,所以
<?php echo do_shortcode('[my_awesome_shortcode]<h1>Hello world</h1>[/my_awesome_shortcode]'); ?>
将工作!
如果您要执行一长串短代码命令,请像这样为它们创建一个单独的字符串
$shortcodes = '[row]';
$shortcodes .= '[column width="2/3"]';
$shortcodes .= 'Content';
$shortcodes .= '[/column]';
$shortcodes .= '[column width="1/3"]';
$shortcodes .= 'More Content';
$shortcodes .= '[/column]';
$shortcodes .= '[/row]';
然后像这样执行整个事情
<?php echo do_shortcode($shortcodes); ?>
根据http://codex.wordpress.org/Shortcode_API#Enclosure_vs_self-closing_shortcodes
添加$content = null
到快捷功能应该可以解决问题:
function my_awesome_shortcode_func( $atts, $content = null ) {
return '<awesomeness>' . $content . '</awesomeness>';
}
add_shortcode( 'my_awesome_shortcode', 'my_awesome_shortcode_func' );
以便:
[my_awesome_shortcode]
Hey, this is the content within the awesome shortcode.
[/my_awesome_shortcode]
会导致:
<awesomeness>Hey, this is the content within the awesome shortcode.</awesomeness>