WordPress 前端投稿和自定义联系表单功能实现思路
文 / @WordPress主题
关于WordPress自定义表单的实现思路
在进行WordPress主题定制时,常常需要前端表单功能。如果是简单的表单,可以借助评论表单实现。但是,如果需要表单字段比较多的功能,使用评论系统实现相对麻烦。比如下面的表单:
由于需要的字段与WordPress评论字段不同,那么该如何实现自定义表单呢?一些朋友会想到使用插件,这确实是一种高效便捷的方法。如上表单便是通过 visualformbuilder 插件实现的,但这也会带来一些性能和安全性等问题。不过,有没有一种方法不依赖插件即可实现自定义表单呢?
如何不依赖插件实现自定义表单?
不需要借助插件,WordPress提供了丰富的API供我们使用。本文将介绍如何不用插件实现自定义表单的实现思路。需要用到的WordPress功能主要是 wp_insert_post 和 update_post_meta。
第一步:创建HTML表单
这一步没有什么可说的,懂HTML的人都能够很容易地完成。
第二步:设置变量接收HTML表单发送过来的数据
主要用到的代码如下,有多少个表单项,就新建几个变量。
$ask_title=isset($_POST['ask_title'])?$_POST['ask_title']:'';
这一步没有什么技术含量,就不多赘述了,省点时间赶紧说重点。
第三步:数据验证
if (empty($ask_title)|| strlen($ask_title) > 20 ) {
wp_die('昵称必须填写,长度不超过20个字符');
}
第四步:保存数据到自定义文章类型及自定义字段中
这一步是最关键的,wp_insert_post 和 update_post_meta 函数将在这里使用。
//首先新建文章对象
$my_post=array(
'post_title'=>$ask_title,//表单提交过来的标题字段
'post_content'=>'这是内容自定',
'post_status'=>'publish',//文章状态
'post_category'=>array(8,39)//分类id,可用于区分表单
);
$new_post=wp_insert_post($my_post);//将文章插入到数据库中,如果成功,将返回新文章的id
update_post_meta($new_post,'自定义字段id',$ask_data);//给新文章id插入自定义字段
至此,建立自定义表单的工作就完成了,当然,这只是一个最基础的功能。如果想提升更高的实现层次,可以参考以下内容:
相关文章
-
如何创建WordPress古腾堡编辑器的区块(PHP+原生JS) 2024-01-10 01:01:06
-
搭建一个WordPress网站需要多少成本 2023-11-06 00:09:51
-
Symlink介绍(附:如何使用Symlink进行WordPress开发) 2023-11-05 23:38:32
-
让WordPress实现数据库同步的插件:HyperDB 2023-10-24 23:40:49
-
allegro电商平台值得做吗(附:2023年Allegro注册流程指南) 2023-10-08 21:53:39
-
印度跨境电商平台有哪些(附:印度跨境电商做什么产品好) 2023-10-08 21:34:23
-
跨境电商必看的几大海外二手电商平台 2023-10-08 18:04:42
-
WordPress同城互联网产品解决方案:UBASE 2023-10-03 16:40:39
-
WordPress网站的安全插件:wordfence 2023-09-14 09:25:18
-
WordPress 6.3 支持在手动更新插件和主题失败后回滚旧版本 2023-08-28 16:58:45