自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' ); //函数接受两个参数 $atts为短代码的属性数组 $content为两个标签之间的内容 function my_link( $atts, $content = null ) { extract( shortcode_atts( array ( 'href' => '/' ), $atts ) ); //从短代码属性数组中获取href值 return '<a href="'.$href.'">'.$content.'</a>'; } add_shortcode( 'mylink', 'my_link' ); [mylink href="http://dba.cn"]阿树工作室[/mylink]
步骤二、创建(注册)短代码
function say_hello() { return "您好,这里是阿树工作室"; } /** *创建短代码 *参数1为段代码名称,即我们准备创建的短代码[sayhello] *参数2为我们前面创建的函数 */ add_shortcode( 'sayhello', 'say_hello' ); //函数接受两个参数 $atts为短代码的属性数组 $content为两个标签之间的内容 function my_link( $atts, $content = null ) { extract( shortcode_atts( array ( 'href' => '/' ), $atts ) ); //从短代码属性数组中获取href值 return '<a href="'.$href.'">'.$content.'</a>'; } add_shortcode( 'mylink', 'my_link' ); [mylink href="http://dba.cn"]阿树工作室[/mylink]
步骤三、在文章中内容中添加刚刚添加的短代码
只需要在文章内容中输入 [sayhello] 在查看文章的时候,就将被自动替换成“您好,这里是阿树工作室”。
短代码示例2:创建高级短代码--给短代码添加属性、
短代码中还可以带参数属性,这个示例中,我们要创建一个短代码用来显示一个超链接,当然我们需要在短代码中加入参数--链接地址、文字内容,短代码形式为 [mylink href="http://dba.cn"]阿树工作室[/mylink]。
注意,短代码也可以是这种一对标签,其中开始标签内容可以带很多参数,两个标签之间也可以有内容,和HTML的标签类似
步骤一、在主题的functions.PHP文件中创建函数
function say_hello() { return "您好,这里是阿树工作室"; } /** *创建短代码 *参数1为段代码名称,即我们准备创建的短代码[sayhello] *参数2为我们前面创建的函数 */ add_shortcode( 'sayhello', 'say_hello' ); //函数接受两个参数 $atts为短代码的属性数组 $content为两个标签之间的内容 function my_link( $atts, $content = null ) { extract( shortcode_atts( array ( 'href' => '/' ), $atts ) ); //从短代码属性数组中获取href值 return '<a href="'.$href.'">'.$content.'</a>'; } add_shortcode( 'mylink', 'my_link' ); [mylink href="http://dba.cn"]阿树工作室[/mylink]
步骤二、创建段代码
function say_hello() { return "您好,这里是阿树工作室"; } /** *创建短代码 *参数1为段代码名称,即我们准备创建的短代码[sayhello] *参数2为我们前面创建的函数 */ add_shortcode( 'sayhello', 'say_hello' ); //函数接受两个参数 $atts为短代码的属性数组 $content为两个标签之间的内容 function my_link( $atts, $content = null ) { extract( shortcode_atts( array ( 'href' => '/' ), $atts ) ); //从短代码属性数组中获取href值 return '<a href="'.$href.'">'.$content.'</a>'; } add_shortcode( 'mylink', 'my_link' ); [mylink href="http://dba.cn"]阿树工作室[/mylink]
步骤三、在文章内容中添加段代码
只需要在文章中输入我们刚刚添加的段代码:
function say_hello() { return "您好,这里是阿树工作室"; } /** *创建短代码 *参数1为段代码名称,即我们准备创建的短代码[sayhello] *参数2为我们前面创建的函数 */ add_shortcode( 'sayhello', 'say_hello' ); //函数接受两个参数 $atts为短代码的属性数组 $content为两个标签之间的内容 function my_link( $atts, $content = null ) { extract( shortcode_atts( array ( 'href' => '/' ), $atts ) ); //从短代码属性数组中获取href值 return '<a href="'.$href.'">'.$content.'</a>'; } add_shortcode( 'mylink', 'my_link' ); [mylink href="http://dba.cn"]阿树工作室[/mylink]
保存文章之后,查看文章,短代码内容将被替换成 带超链接的文字“阿树工作室”。