我在學習的WordPress(和簡碼)的早期階段,所以多多包涵:Wordpress短代碼與單獨的模板/文件?
對我來說,簡碼似乎是不必使用特定的頁面模板一切的瑞士軍刀。我喜歡儘可能多地在wysiwyg中構建儘可能多的頁面,但通常我會需要一些(可重用的)php東西以某種方式顯示內容。
已經GOOGLE了很多,在我看來,做簡碼的方法是這樣的:
function caption_shortcode($atts, $content = null) {
return '<span class="caption">' . $content . '</span>';
}
我的問題是,是否有可能把HTML在一個單獨的模板十歲上下的文件?把所有這些標記放在這裏似乎是錯誤和冗長的,可以用引號和et.c.就像短代碼的模板文件一樣,shortcode可以傳遞一些數據傳輸對象(或者僅僅是一些作用域變量)。所以:在模板文件中顯示,在短代碼函數(無論它可能被定義,函數.php,單獨的插件,或其他)中查找數據(傳遞給所述模板文件)的邏輯。
你現在把這個函數放在哪個文件中?你可以在你的functions.php中包含文件,就像你在php中一樣。所以你可以創建你想要的任何文件。 – veelen 2014-11-04 21:27:06
我已經把shortcode準確地放在了functions.php中(因爲缺乏更好的知識) - 所以你說的是,我可以拉一個文件(使用include?),並且在這個文件中,函數中的局部變量(駐留在functions.php中)將可用? – 2014-11-04 21:35:50
爲了保持可維護性,我建議將所有短代碼分組在一個類中。一個好的,但更高級的例子是WC shortcodes類:https://github.com/woothemes/woocommerce/blob/master/includes/class-wc-shortcodes.php – diggy 2014-11-04 21:40:55