首页 > 解决方案 > 如何在 wordpress 中为多个用户角色创建单个表单

问题描述

我正在构建一个 WordPress 网站,在该网站中我需要一个表单,两个用户将填写这个表单。

就像第 1 部分将由来宾填写,第 2 部分也将是现有用户一样,我需要在仪表板中显示表单记录。

此外,必须为来宾用户禁用第二部分。

我不确定如何实现这一目标。 在此处输入图像描述

标签: phpwordpressformscustom-wordpress-pages

解决方案


您至少有 2 个非常强大的选项。

“免费”的方式是使用 PHP 构建您自己的表单,并利用 WordPress 的is_user_logged_in()功能来显示/隐藏第二部分。(您会希望下半部分甚至不呈现到页面,而不仅仅是作为最佳实践“隐藏”)。

另一种方法是使用可以说是最强大的 WordPress 表单生成器插件之一:GravityForms。请注意,我不隶属于他们,但我的机构已经使用 Gravity Forms 十年了,而且它的可扩展性令人难以置信。与原生 WordPress 一样,Gravity Forms 有大量的 Hooks 和 Filters 来修改表单、输出、管理显示等。

您可以构建整个表单并使用gform_pre_render过滤器根据返回的值修改表单is_user_logged_in()。这样做的缺点是它是一个高级插件,但它有一个庞大的社区,用它做了一些非常巧妙的事情。一个好处是它已经完成了仪表板条目显示,因此您不需要在这方面做太多事情。

无论哪种方式,您都需要完成大量工作(无论是使用自定义构建的 PHP 表单还是插件),但要显示哪些部分背后的逻辑非常简单,并且仅基于is_user_logged_in()函数。


推荐阅读