如何在functions.php中使用域获取表单数据和创建用户

Posted

技术标签:

【中文标题】如何在functions.php中使用域获取表单数据和创建用户【英文标题】:How to get form data and create user using domain in functions.php 【发布时间】:2021-09-21 11:35:58 【问题描述】:

我在 Wordpress 网站中有一个来自插件 (Indeed Ultimate Membership Pro) 的表单。

表单代码看起来像这样

<form method="post" id="ihc_login_form">
  <input type="hidden" name="ihcaction" value="login">
  <input type="hidden" name="ihc_login_nonce" value="f27d595767">
  <div class="impu-form-line-fr">
    <input type="text" value="" id="iump_login_username" name="log" placeholder="Username">
  </div>
  <div class="impu-form-line-fr">
    <input type="password" value="" id="iump_login_password" name="pwd" placeholder="Password">
  </div>
  <div class="impu-form-line-fr impu-form-submit">
    <input type="submit" value="Log In" name="Submit">
  </div>
</form>

我想要的是从表单中获取用户名和密码,分配变量中的值,如果电子邮件域是“@xyz.com”,则在functions.php文件中创建一个新用户。

示例:如果未在站点中注册的用户尝试登录并且他的电子邮件是anything@xyz.com,则应在functions.php 中检查值并创建用户。就像同时注册和登录一样

编辑 这是我在functions.php中的代码

function wpb_admin_account()
$user = $_POST["log"];
$pass = '123456';
$email = $_POST["log"];
if ( !username_exists( $user )  && !email_exists( $email ) && strstr($email, "@xyz.com")) 
    $user_id = wp_create_user( $user, $pass, $email );
    $user = new WP_User( $user_id );
    $user->set_role( 'subscriber' );
    sleep(3);
    $url = "https://siteurl.com/my-account/";
    wp_redirect($url);
    exit;
 
add_action('init','wpb_admin_account');

我已成功获取数据并创建了一个帐户,但它没有重定向到我的帐户页面

【问题讨论】:

这更像是一个规范而不是一个问题。你试过什么?你到底卡在哪里了?向我们展示您的尝试并解释会发生什么以及您期望会发生什么。 我一直在从 functions.php 文件中的表单中获取值。一旦我获得了我可以设法注册用户的值 就像我在之前的评论中所说的那样。向我们展示您的尝试并解释会发生什么以及您期望会发生什么。在这里可以帮助您解决现有代码的具体问题,但为了让我们能够做到这一点,我们需要了解您到目前为止所做的工作。 我已经更新了你所说的问题,非常感谢您的帮助 alert()javascript 函数,而不是 PHP 函数。 【参考方案1】:

由于表单来自另一个插件,首先检查它是否具有修改提交查询的扩展选项,然后您可以添加自定义 jquery ajax 以将数据从前端发送到后端。

【讨论】:

您好,该插件没有任何修改提交查询的选项。你能举个例子说明如何使用ajax逐步发送数据,因为我对ajax不是很熟悉 这是一个漫长的过程,但我正在为您提供样本。希望它会为您的目的工作。 ***.com/questions/43557755/… 如果你不能让它工作,请告诉我。我将分享现场样本。

以上是关于如何在functions.php中使用域获取表单数据和创建用户的主要内容,如果未能解决你的问题,请参考以下文章

如何获取functions.php中的当前帖子类型以便全局使用?

如何获取 woocommerce 订单的订单 ID 以在 functions.php 中的函数中使用?

php 将Gravity Forms添加到单个AgentPress列表帖子中,并使用帖子标题动态填充表单。将其添加到functions.php中。

如何在phonegap中运行php文件?

apache_conf 将以下代码添加到主题的functions.php文件中,以在“我的帐户”下的注册表单中添加确认密码字段。

在联系表单文本区域中获取换行符以显示在电子邮件中