2012-07-27 62 views
3

好了,你可以添加簡碼到WP模板文件,如:如何添加結束短代碼到Wordpress模板文件?

<?php echo do_shortcode('[my_awesome_shortcode]'); ?> 

但如果短碼旨在環繞內容是這樣的:

[my_awesome_shortcode] 
Hey, this is the content within the awesome shortcode. 
[/my_awesome_shortcode] 

我有點不確定如何把它放到一個模板文件中。

回答

8

根據http://codex.wordpress.org/Shortcode_API#Enclosing_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> 
+2

整個事情我想你錯過在這個問題上的觀點。問題是,你如何將短代碼放入php例程中?你只是定義了什麼封閉的短代碼。來自nicotr014的解決方案回答了這個問題。 – zipzit 2014-01-26 22:44:20

8

爲我工作的解決方案是簡碼組合成一個單一的字符串,這樣

<?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); ?> 
相關問題