WordPress 前端投稿和自定义联系表单功能实现思路
文 / @UTHEME
关于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插入自定义字段
至此,建立自定义表单的工作就完成了,当然,这只是一个最基础的功能。如果想提升更高的实现层次,可以参考以下内容:

相关文章
-
IDC/ISP办理许可证的基本条件(附:IDC和ISP许可证申请流程) 2023-06-07 08:00:01
-
利用tinymce.activeEditor获取到 WordPress可视化编辑器中的值(附:tinymce.activeEditor常见其他用法) 2023-06-06 08:00:02
-
WordPress是什么框架吗?WordPress是用什么写的? 2023-06-06 08:00:02
-
WordPress哪个版本稳定好用(附:如何查看当前WordPress版本) 2023-06-06 08:00:02
-
Automattic 发布 wp-now:由 WordPress Playground 提供支持的本地开发环境 2023-06-05 08:00:02
-
UGPT插件:国内首个永久免费WordPress ChatGPT插件 2023-06-04 08:00:01
-
PHP预定义常量都有哪些(含常见PHP魔术常量) 2023-06-04 08:00:01
-
php的 require 和include 有什么区别 2023-06-04 08:00:01
-
wordpress seo哪个插件好用 – WordPress SEO by Yoast 2023-06-03 08:00:02
-
WordPress古腾堡编辑器模块开发教程 2023-06-03 08:00:02