自 wp2.5 版本以來,WordPress 添加了短代碼 (Shortcodes) 支持。在一些高級主題中,短代碼是不可少的。
本文參考自:http://www.tutorialchip.com/WordPress/WordPress-shortcode-tutorial-simple-to-advanced-part-1/
1 、什麼是短代碼 (Shortcodes)?
- 短代碼是添加在文章內容中的特殊標籤,類似一些論壇的 UBB 代碼,例如:['gallery] 、 [mylink][/mylink] 等等 (去掉 ['gallery] 中的單引號),注意到如果在文章內容中寫入 ['gallery],去掉其中的單引號,那麼在可視化模式下,將會變成一個相冊區域,這就是段代碼。
- 在預覽或者插件文章的時候,短代碼將會被替換成某一具體內容,比如上面一點的 ['gallery]
短代碼示例 1:我們將創建一個短代碼 [sayhello], 創建這個短代碼後,我們需要在文章中寫入 [sayhello] 但是網站前台查看文章需要替換成 「您好,這裏是阿樹工作室」 。
步驟一、在主題的 functions.php 中添加一個函數
- function say_hello() {
- return "您好,這裏是阿樹工作室";
- }
步驟二、創建 (註冊) 短代碼
- /**
- *創建短代碼
- *參數 1 為段代碼名稱,即我們準備創建的短代碼 [sayhello]
- *參數 2 為我們前面創建的函數
- */
- add_shortcode( 'sayhello', 'say_hello' );
步驟三、在文章中內容中添加剛剛添加的短代碼
只需要在文章內容中輸入 [sayhello] 在查看文章的時候,就將被自動替換成 「您好,這裏是阿樹工作室」 。
短代碼示例 2:創建高級短代碼--給短代碼添加屬性、
短代碼中還可以帶參數屬性,這個示例中,我們要創建一個短代碼用來顯示一個超鏈接,當然我們需要在短代碼中加入參數--鏈接地址、文字內容,短代碼形式為 [mylink href="http://ashuwp.com"] 阿樹工作室 [/mylink] 。
注意,短代碼也可以是這種一對標籤,其中開始標籤內容可以帶很多參數, 兩個標籤之間也可以有內容,和 html 的標籤類似
步驟一、在主題的 functions.php 文件中創建函數
- //函數接受兩個參數 $atts 為短代碼的屬性數組 $content 為兩個標籤之間的內容
- function my_link( $atts, $content = null ) {
- extract( shortcode_atts( array (
- 'href' => 'http://www.ashuwp.com/'
- ), $atts ) ); //從短代碼屬性數組中獲取 href 值
- return '<a href="'.$href.'">'.$content.'</a>';
- }
步驟二、創建段代碼
- add_shortcode( 'mylink', 'my_link' );
步驟三、在文章內容中添加段代碼
只需要在文章中輸入我們剛剛添加的段代碼:
- [mylink href="http://ashuwp.com"] 阿樹工作室 [/mylink]
保存文章之後,查看文章,短代碼內容將被替換成 帶超鏈接的文字 「阿樹工作室」 。