目录
首页 笔记 详情

WordPress Shortcode(短代码)使用教程


通过短代码,普通的编辑用户不需要专业的编程能力就可以发布动态的内容。

当短代码被放到文章或者页面中的时候,它会被替换成一些其他的内容。换言之,我们会找到文章或者页面里方括号([])中内容,并根据一个PHP函数,把它替换成一个适当的动态内容。

Shortcode 类型

Shortcode API 支持几乎所有可能的组合形式:自关闭标签,开放标签,含有参数的标签等。

[mycode]
[mycode foo="bar" id="123" color="red" something="data"]
[mycode]Some Content[/mycode]
[mycode]<p><a href="http://example.com/">HTML Content</a<>/p>[/mycode]
[mycode]Content [another-shotcode] more content[/mycode]
[mycode foo="bar" id="123"]Some Content[/mycode]

 

Shortcode 基本概念

首先你要去定义一个函数,来处理你定义的 Shortcode,和它的属性参数以及引用的内容。

function my_shortcode_func($attr, $content) {
    // $attr $key=>$value 的数组
    // $content 是 shortcode 中包含的字符串
    // 对 $attr 和 $content 进行处理
    // 返回预期的值
}

 

然后把自己定义的 Shortcode 和其处理函数管理起来,以便 [mycode attr="value"]content[/mycode] 能够按照预期执行。

add_shortcode('mycode', 'my_shortcode_func')
function form_shortcode( $atts, $content='' ) {
	extract( shortcode_atts( array('css' => '','biaoti' => ''), $atts ) );
	$output = '';
	$output.='
	<div class="reg1-box pop-box '.$css.'">
		<div class="pop-con tx-box1 ">
			<form action="?action_book=book" method="post">
				<h2 class="tx-title1 f-18"><a href="javascript:void(0)" class="pop-off fr"><i class="iconfont icon-guanbi1"></i></a>'.$biaoti.'</h2>
				<dl class="pd20">
					<p class="mb10"><input required="required" type="text" name="name" class="tx-input" placeholder="请输入姓名">*</p>
					<p class="mb10"><input required="required" type="text" name="mobile" class="tx-input" placeholder="请输入电话"></p>
					<p class="mb10"><input required="required" type="text" name="address" class="tx-input" placeholder="请输入您的区域"></p>
					<p class="mb10"><input type="text" name="shop" class="tx-input" placeholder="请输入您的店铺"></p>
					<p class="mb10"><input type="text" name="shoppage" class="tx-input" placeholder="请输入您的店铺链接"></p>
					<p class="mb10"><input type="submit" value="提交信息 免费诊断" onclick="return register()" class="tx-btn tx-bg1 dp-b"></p>
				</dl>
				<input type="hidden" name="ip" value="'.getIp().'" />
				<input type="hidden" name="laiyuan" value="'.getIp().'" />
			</form>
		</div>
		<a href="javascript:;" class="pop-off1"><i class="fa fa-times"></i></a>
	</div>';

    return $output;
}
add_shortcode( 'formdisplay', 'form_shortcode' );

 


写笔记

咨询

您的电子邮箱地址不会被公开。 必填项已用*标注