You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress使用SiteOrigin插件搭建联系表单的功能实现及相关问题咨询

SiteOrigin联系表单配置截图

1. 如何通过SiteOrigin插件获取表单提交的数值

SiteOrigin表单提交后会触发siteorigin_widgets_form_submit动作钩子,可直接通过该钩子获取提交的所有字段值,代码可以挂载到当前主题的functions.php文件中:

add_action( 'siteorigin_widgets_form_submit', function( $form, $values, $widget ) {
    // $values 为用户提交的所有表单字段数组,键为后台设置的字段名,值为用户输入内容
    // 例:后台设置了name字段,可通过 $values['name'] 读取对应输入值
}, 10, 3 );

如果是临时调试,也可以直接通过$_POST全局变量读取,SiteOrigin表单提交的字段默认前缀为so_form,读取前需要做好安全校验。

2. 将用户数据发送给管理员的邮件发送流程是怎样的

默认邮件发送流程如下:

  • 用户点击提交按钮后,前端先做基础字段校验(必填项校验、格式校验等)
  • 校验通过后,表单数据通过POST/AJAX请求提交到站点后端
  • SiteOrigin后端接收数据后做二次安全校验,过滤恶意内容
  • 校验无误后调用WordPress核心wp_mail()函数发送邮件,默认收件人为后台「设置-常规」中配置的管理员邮箱,邮件内容自动拼接所有表单字段的键值对
  • 发送完成后返回前端提交成功提示,发送失败则返回对应错误信息
    你也可以直接在表单的后台设置页自定义收件人、邮件标题、内容模板,无需修改代码。

3. 如何获取并存储这些表单提交的数值

SiteOrigin表单默认不会自动存储提交数据到数据库,如需存储可以选择两种方式:

  • 插件扩展:安装SiteOrigin官方的表单数据存储扩展,或兼容SiteOrigin的第三方WP表单数据存储插件
  • 自定义代码:使用上文提到的siteorigin_widgets_form_submit钩子,拿到提交的$values数组后,经过安全过滤写入WordPress自定义数据表,或者通过add_post_meta存储到自定义文章类型中
    如果仅用于调试,可以在钩子函数中使用error_log( print_r( $values, true ) );把提交数据写入站点日志文件查看。

4. SiteOrigin插件的所有文件和数据的存储位置是什么

  • 插件文件:默认存放在站点根目录wp-content/plugins/siteorigin-widgets/路径下,如果安装的是SiteOrigin Page Builder,对应路径为wp-content/plugins/siteorigin-panels/
  • 插件配置数据:全局设置、表单配置参数都存储在WordPress数据库的wp_options表中,键名以siteorigin_widgets_或siteorigin_panels_为前缀
  • 自定义表单内容:跟着嵌入的页面/文章存储在wp_posts表对应内容的post_content字段中。

5. 如果我想要编辑或新增相关功能,需要在哪个模板文件中进行修改

不建议直接修改插件源文件,插件更新会覆盖所有自定义修改,推荐按需求选择修改方式:

  • 仅修改表单前端样式:直接在当前主题的style.css文件中添加自定义CSS即可
  • 修改提交逻辑、邮件逻辑、新增数据存储等功能:所有自定义代码写入当前主题的functions.php文件,或者单独创建自定义插件挂载功能
  • 需要自定义表单渲染模板:把SiteOrigin的表单模板文件复制到当前主题根目录的siteorigin-widgets/文件夹下,在副本中修改即可,插件会优先加载主题目录下的模板文件,不会被插件更新覆盖。

内容的提问来源于stack exchange,提问作者Shubham Kasar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 14:36:04